Vincent Povirk : gdiplus: Change the sign we use for origin. x in DrawDriverString.

Alexandre Julliard julliard at winehq.org
Tue May 24 12:53:44 CDT 2011


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

Author: Vincent Povirk <vincent at codeweavers.com>
Date:   Mon May 23 16:33:46 2011 -0500

gdiplus: Change the sign we use for origin.x in DrawDriverString.

Apparently characters whose black boxes extend to the left of the origin have
a negative x value, but characters whose black boxes extend above the origin
have a positive y value.

---

 dlls/gdiplus/graphics.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/dlls/gdiplus/graphics.c b/dlls/gdiplus/graphics.c
index ed024ad..867889d 100644
--- a/dlls/gdiplus/graphics.c
+++ b/dlls/gdiplus/graphics.c
@@ -5753,9 +5753,9 @@ static GpStatus SOFTWARE_GdipDrawDriverString(GpGraphics *graphics, GDIPCONST UI
         if (glyphsize > max_glyphsize)
             max_glyphsize = glyphsize;
 
-        left = pti[i].x - glyphmetrics.gmptGlyphOrigin.x;
+        left = pti[i].x + glyphmetrics.gmptGlyphOrigin.x;
         top = pti[i].y - glyphmetrics.gmptGlyphOrigin.y;
-        right = pti[i].x - glyphmetrics.gmptGlyphOrigin.x + glyphmetrics.gmBlackBoxX;
+        right = pti[i].x + glyphmetrics.gmptGlyphOrigin.x + glyphmetrics.gmBlackBoxX;
         bottom = pti[i].y - glyphmetrics.gmptGlyphOrigin.y + glyphmetrics.gmBlackBoxY;
 
         if (left < min_x) min_x = left;
@@ -5786,7 +5786,7 @@ static GpStatus SOFTWARE_GdipDrawDriverString(GpGraphics *graphics, GDIPCONST UI
         GetGlyphOutlineW(hdc, text[i], ggo_flags,
             &glyphmetrics, max_glyphsize, glyph_mask, &identity);
 
-        left = pti[i].x - glyphmetrics.gmptGlyphOrigin.x;
+        left = pti[i].x + glyphmetrics.gmptGlyphOrigin.x;
         top = pti[i].y - glyphmetrics.gmptGlyphOrigin.y;
         stride = (glyphmetrics.gmBlackBoxX + 3) & (~3);
 




More information about the wine-cvs mailing list