Vincent Povirk : gdiplus: Account for gdi32 transform in SOFTWARE_GdipDrawThinPath.

Alexandre Julliard julliard at winehq.org
Fri Sep 1 12:23:21 CDT 2017


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

Author: Vincent Povirk <vincent at codeweavers.com>
Date:   Thu Aug 31 14:14:08 2017 -0500

gdiplus: Account for gdi32 transform in SOFTWARE_GdipDrawThinPath.

Signed-off-by: Vincent Povirk <vincent at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/gdiplus/graphics.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/dlls/gdiplus/graphics.c b/dlls/gdiplus/graphics.c
index f4dc3e6..4413e75 100644
--- a/dlls/gdiplus/graphics.c
+++ b/dlls/gdiplus/graphics.c
@@ -3499,7 +3499,7 @@ static GpStatus SOFTWARE_GdipDrawThinPath(GpGraphics *graphics, GpPen *pen, GpPa
 
     if (stat == Ok)
     {
-        stat = get_graphics_transform(graphics, CoordinateSpaceDevice,
+        stat = get_graphics_transform(graphics, WineCoordinateSpaceGdiDevice,
                 CoordinateSpaceWorld, transform);
 
         if (stat == Ok)
@@ -3528,7 +3528,7 @@ static GpStatus SOFTWARE_GdipDrawThinPath(GpGraphics *graphics, GpPen *pen, GpPa
             if (ceilf(y) > output_area.bottom) output_area.bottom = ceilf(y);
         }
 
-        stat = get_graphics_bounds(graphics, &gp_bound_rect);
+        stat = get_graphics_device_bounds(graphics, &gp_bound_rect);
     }
 
     if (stat == Ok)
@@ -3760,9 +3760,13 @@ static GpStatus SOFTWARE_GdipDrawThinPath(GpGraphics *graphics, GpPen *pen, GpPa
         /* draw output image */
         if (stat == Ok)
         {
+            gdi_transform_acquire(graphics);
+
             stat = alpha_blend_pixels(graphics, output_area.left, output_area.top,
                 (BYTE*)output_bits, output_width, output_height, output_width * 4,
                 PixelFormat32bppARGB);
+
+            gdi_transform_release(graphics);
         }
 
         heap_free(brush_bits);




More information about the wine-cvs mailing list