From 6bf1b638cb31dd3c08f50728c40174b6b73bf698 Mon Sep 17 00:00:00 2001 From: Vincent Povirk Date: Thu, 31 Aug 2017 14:14:08 -0500 Subject: [PATCH] gdiplus: Account for gdi32 transform in SOFTWARE_GdipDrawThinPath. Signed-off-by: Vincent Povirk Signed-off-by: Alexandre Julliard --- 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 f4dc3e60c8c..4413e758e22 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); -- 2.11.4.GIT