Hans Leidekker : gdiplus: Implement GdipGetLineSpacing.

Alexandre Julliard julliard at winehq.org
Mon Nov 24 09:16:48 CST 2008


Module: wine
Branch: master
Commit: c04b7c5b0f8dbe77bb88fc8915fff37b17982ffb
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=c04b7c5b0f8dbe77bb88fc8915fff37b17982ffb

Author: Hans Leidekker <hans at codeweavers.com>
Date:   Mon Nov 24 10:21:44 2008 +0100

gdiplus: Implement GdipGetLineSpacing.

---

 dlls/gdiplus/font.c       |   14 +++++++++-----
 dlls/gdiplus/tests/font.c |    6 ------
 2 files changed, 9 insertions(+), 11 deletions(-)

diff --git a/dlls/gdiplus/font.c b/dlls/gdiplus/font.c
index 32713c7..9348f5b 100644
--- a/dlls/gdiplus/font.c
+++ b/dlls/gdiplus/font.c
@@ -667,8 +667,7 @@ GpStatus WINGDIPAPI GdipGetEmHeight(GDIPCONST GpFontFamily *family, INT style, U
 {
     if (!(family && EmHeight)) return InvalidParameter;
 
-    TRACE("%p (%s), %d, %p, stub!\n", family,
-            debugstr_w(family->FamilyName), style, EmHeight);
+    TRACE("%p (%s), %d, %p\n", family, debugstr_w(family->FamilyName), style, EmHeight);
 
     *EmHeight = family->tmw.ntmSizeEM;
 
@@ -693,11 +692,16 @@ GpStatus WINGDIPAPI GdipGetEmHeight(GDIPCONST GpFontFamily *family, INT style, U
 GpStatus WINGDIPAPI GdipGetLineSpacing(GDIPCONST GpFontFamily *family,
         INT style, UINT16* LineSpacing)
 {
-    if (!(family && LineSpacing)) return InvalidParameter;
+    TRACE("%p, %d, %p\n", family, style, LineSpacing);
 
-    FIXME("stub!\n");
+    if (!(family && LineSpacing))
+        return InvalidParameter;
 
-    return NotImplemented;
+    if (style) FIXME("ignoring style\n");
+
+    *LineSpacing = family->tmw.tmAscent + family->tmw.tmDescent + family->tmw.tmExternalLeading;
+
+    return Ok;
 }
 
 GpStatus WINGDIPAPI GdipIsStyleAvailable(GDIPCONST GpFontFamily* family,
diff --git a/dlls/gdiplus/tests/font.c b/dlls/gdiplus/tests/font.c
index ab6d28c..7ff5afc 100644
--- a/dlls/gdiplus/tests/font.c
+++ b/dlls/gdiplus/tests/font.c
@@ -246,12 +246,9 @@ static void test_fontfamily_properties (void)
         skip("Arial not installed\n");
     else
     {
-todo_wine
-{
         stat = GdipGetLineSpacing(FontFamily, FontStyleRegular, &result);
         expect(Ok, stat);
         ok (result == 2355, "Expected 2355, got %d\n", result);
-}
         result = 0;
         stat = GdipGetEmHeight(FontFamily, FontStyleRegular, &result);
         expect(Ok, stat);
@@ -272,12 +269,9 @@ todo_wine
     else
     {
         result = 0;
-todo_wine
-{
         stat = GdipGetLineSpacing(FontFamily, FontStyleRegular, &result);
         expect(Ok, stat);
         ok(result == 2355, "Expected 2355, got %d\n", result);
-}
         result = 0;
         stat = GdipGetEmHeight(FontFamily, FontStyleRegular, &result);
         expect(Ok, stat);




More information about the wine-cvs mailing list