[5/5] gdiplus: Account for gdi32 transform in SOFTWARE_GdipDrawThinPath.
Vincent Povirk
vincent at codeweavers.com
Thu Aug 31 14:14:08 CDT 2017
Signed-off-by: Vincent Povirk <vincent at codeweavers.com>
---
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);
--
2.7.4
More information about the wine-patches
mailing list