Module: wine Branch: master Commit: 6bf1b638cb31dd3c08f50728c40174b6b73bf698 URL: http://source.winehq.org/git/wine.git/?a=commit;h=6bf1b638cb31dd3c08f50728c4...
Author: Vincent Povirk vincent@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@codeweavers.com Signed-off-by: Alexandre Julliard julliard@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);