gdiplus: Account for gdi32 transform in SOFTWARE_GdipDrawThinPath.

Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Vincent Povirk 2017-08-31 14:14:08 -05:00 committed by Alexandre Julliard
parent e127101122
commit 6bf1b638cb
1 changed files with 6 additions and 2 deletions

View File

@ -3499,7 +3499,7 @@ static GpStatus SOFTWARE_GdipDrawThinPath(GpGraphics *graphics, GpPen *pen, GpPa
if (stat == Ok) if (stat == Ok)
{ {
stat = get_graphics_transform(graphics, CoordinateSpaceDevice, stat = get_graphics_transform(graphics, WineCoordinateSpaceGdiDevice,
CoordinateSpaceWorld, transform); CoordinateSpaceWorld, transform);
if (stat == Ok) 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); 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) if (stat == Ok)
@ -3760,9 +3760,13 @@ static GpStatus SOFTWARE_GdipDrawThinPath(GpGraphics *graphics, GpPen *pen, GpPa
/* draw output image */ /* draw output image */
if (stat == Ok) if (stat == Ok)
{ {
gdi_transform_acquire(graphics);
stat = alpha_blend_pixels(graphics, output_area.left, output_area.top, stat = alpha_blend_pixels(graphics, output_area.left, output_area.top,
(BYTE*)output_bits, output_width, output_height, output_width * 4, (BYTE*)output_bits, output_width, output_height, output_width * 4,
PixelFormat32bppARGB); PixelFormat32bppARGB);
gdi_transform_release(graphics);
} }
heap_free(brush_bits); heap_free(brush_bits);