[Gdiplus try2 06/10] Implement GdipGetFontStyle

Adam Petaccia adam at tpetaccia.com
Wed Aug 27 16:22:00 CDT 2008


---
 dlls/gdiplus/font.c       |   31 +++++++++++++++++++++++++++++--
 dlls/gdiplus/tests/font.c |    3 ---
 2 files changed, 29 insertions(+), 5 deletions(-)

diff --git a/dlls/gdiplus/font.c b/dlls/gdiplus/font.c
index f7638e7..9839a45 100644
--- a/dlls/gdiplus/font.c
+++ b/dlls/gdiplus/font.c
@@ -298,11 +298,38 @@ GpStatus WINGDIPAPI GdipGetFontSize(GpFont *font, REAL *size)
     return Ok;
 }
 
+/*******************************************************************************
+ * GdipGetFontStyle [GDIPLUS.@]
+ *
+ * Gets the font's style, returned in bitwise OR of FontStyle enumeration
+ *
+ * PARAMS
+ *  font    [I] font to request from
+ *  style   [O] resulting pointer to a FontStyle enumeration
+ *
+ * RETURNS
+ *  SUCCESS: Ok
+ *  FAILURE: InvalidParameter
+ */
 GpStatus WINGDIPAPI GdipGetFontStyle(GpFont *font, INT *style)
 {
-    FIXME("stub: %p %p\n", font, style);
+    TRACE("%p %p\n", font, style);
 
-    return NotImplemented;
+    if (!(font && style))
+        return InvalidParameter;
+
+    if (font->lfw.lfWeight > 400)
+        *style = FontStyleBold;
+    else
+        *style = 0;
+    if (font->lfw.lfItalic)
+        *style |= FontStyleItalic;
+    if (font->lfw.lfUnderline)
+        *style |= FontStyleUnderline;
+    if (font->lfw.lfStrikeOut)
+        *style |= FontStyleStrikeout;
+
+    return Ok;
 }
 
 /*******************************************************************************
diff --git a/dlls/gdiplus/tests/font.c b/dlls/gdiplus/tests/font.c
index c0658c2..b396141 100644
--- a/dlls/gdiplus/tests/font.c
+++ b/dlls/gdiplus/tests/font.c
@@ -172,13 +172,10 @@ todo_wine {
     expect(0, lfw2.lfQuality);
     expect(0, lfw2.lfPitchAndFamily);
 
-todo_wine
-{
     stat = GdipGetFontStyle(font, &style);
     expect(Ok, stat);
     ok (style == (FontStyleItalic | FontStyleUnderline | FontStyleStrikeout),
             "Expected , got %d\n", style);
-}
 
     GdipDeleteFont(font);
 
-- 
1.5.4.3




More information about the wine-patches mailing list