[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