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