Hans Leidekker : gdiplus: Improve GdipMeasureString.

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


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

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

gdiplus: Improve GdipMeasureString.

---

 dlls/gdiplus/graphics.c |    9 +++++----
 1 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/dlls/gdiplus/graphics.c b/dlls/gdiplus/graphics.c
index fa90d73..aba2aca 100644
--- a/dlls/gdiplus/graphics.c
+++ b/dlls/gdiplus/graphics.c
@@ -2654,10 +2654,8 @@ GpStatus WINGDIPAPI GdipMeasureString(GpGraphics *graphics,
     if(!graphics || !string || !font || !rect)
         return InvalidParameter;
 
-    if(codepointsfitted || linesfilled){
-        FIXME("not implemented for given parameters\n");
-        return NotImplemented;
-    }
+    if(linesfilled) *linesfilled = 0;
+    if(codepointsfitted) *codepointsfitted = 0;
 
     if(format)
         TRACE("may be ignoring some format flags: attr %x\n", format->attr);
@@ -2722,7 +2720,10 @@ GpStatus WINGDIPAPI GdipMeasureString(GpGraphics *graphics,
                               nwidth, &j, NULL, &size);
 
         sum += fit + (lret < fitcpy ? 1 : 0);
+        if(codepointsfitted) *codepointsfitted = sum;
+
         height += size.cy;
+        if(linesfilled) *linesfilled += size.cy;
         max_width = max(max_width, size.cx);
 
         if(height > nheight)




More information about the wine-cvs mailing list