From 341f32a36d9b31b1c2d9b5388a93114c73838fba Mon Sep 17 00:00:00 2001 From: Nikolay Sivov Date: Wed, 30 Jul 2008 15:07:04 +0400 Subject: [PATCH] gdiplus: Implemented GdipStringFormatGetGenericDefault with tests. --- dlls/gdiplus/stringformat.c | 11 ++++++-- dlls/gdiplus/tests/stringformat.c | 42 +++++++++++++++++++++++++++++++ 2 files changed, 51 insertions(+), 2 deletions(-) diff --git a/dlls/gdiplus/stringformat.c b/dlls/gdiplus/stringformat.c index 2f8a2903d33..201201a866f 100644 --- a/dlls/gdiplus/stringformat.c +++ b/dlls/gdiplus/stringformat.c @@ -67,12 +67,19 @@ GpStatus WINGDIPAPI GdipDeleteStringFormat(GpStringFormat *format) GpStatus WINGDIPAPI GdipStringFormatGetGenericDefault(GpStringFormat **format) { + GpStatus stat; + if (!format) return InvalidParameter; - FIXME("stub: %p\n", format); + stat = GdipCreateStringFormat(0, LANG_NEUTRAL, format); + if(stat != Ok) + return stat; - return NotImplemented; + (*format)->align = StringAlignmentNear; + (*format)->vertalign = StringAlignmentNear; + + return Ok; } GpStatus WINGDIPAPI GdipGetStringFormatAlign(GpStringFormat *format, diff --git a/dlls/gdiplus/tests/stringformat.c b/dlls/gdiplus/tests/stringformat.c index c851f1bcbb9..93319128f28 100644 --- a/dlls/gdiplus/tests/stringformat.c +++ b/dlls/gdiplus/tests/stringformat.c @@ -277,6 +277,47 @@ static void test_tabstops(void) expect(Ok, stat); } +static void test_getgenericdefault(void) +{ + GpStringFormat *format; + GpStatus stat; + + INT flags; + INT n; + StringAlignment align, valign; + StringTrimming trimming; + StringDigitSubstitute digitsub; + LANGID digitlang; + INT tabcount; + + /* NULL arg */ + stat = GdipStringFormatGetGenericDefault(NULL); + expect(InvalidParameter, stat); + + stat = GdipStringFormatGetGenericDefault(&format); + expect(Ok, stat); + + GdipGetStringFormatFlags(format, &flags); + GdipGetStringFormatAlign(format, &align); + GdipGetStringFormatLineAlign(format, &valign); + GdipGetStringFormatHotkeyPrefix(format, &n); + GdipGetStringFormatTrimming(format, &trimming); + GdipGetStringFormatDigitSubstitution(format, &digitlang, &digitsub); + GdipGetStringFormatTabStopCount(format, &tabcount); + + expect(0, flags); + expect(HotkeyPrefixNone, n); + expect(StringAlignmentNear, align); + expect(StringAlignmentNear, align); + expect(StringTrimmingCharacter, trimming); + expect(StringDigitSubstituteUser, digitsub); + expect(LANG_NEUTRAL, digitlang); + expect(0, tabcount); + + stat = GdipDeleteStringFormat(format); + expect(Ok, stat); +} + START_TEST(stringformat) { struct GdiplusStartupInput gdiplusStartupInput; @@ -294,6 +335,7 @@ START_TEST(stringformat) test_digitsubstitution(); test_getgenerictypographic(); test_tabstops(); + test_getgenericdefault(); GdiplusShutdown(gdiplusToken); }