Vincent Povirk : gdiplus: Add clipping to GDI32_GdipDrawDriverString.
Module: wine Branch: master Commit: c6afa50db6fb2fefcd349a52728cea2479bf0392 URL: http://source.winehq.org/git/wine.git/?a=commit;h=c6afa50db6fb2fefcd349a5272... Author: Vincent Povirk <vincent(a)codeweavers.com> Date: Mon Sep 19 15:07:01 2016 -0500 gdiplus: Add clipping to GDI32_GdipDrawDriverString. Signed-off-by: Vincent Povirk <vincent(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/gdiplus/graphics.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/dlls/gdiplus/graphics.c b/dlls/gdiplus/graphics.c index 964fa9f..894503e 100644 --- a/dlls/gdiplus/graphics.c +++ b/dlls/gdiplus/graphics.c @@ -6321,6 +6321,8 @@ static GpStatus GDI32_GdipDrawDriverString(GpGraphics *graphics, GDIPCONST UINT1 GpPointF pt; HFONT hfont; UINT eto_flags=0; + GpStatus status; + HRGN hrgn; if (flags & unsupported_flags) FIXME("Ignoring flags %x\n", flags & unsupported_flags); @@ -6332,6 +6334,14 @@ static GpStatus GDI32_GdipDrawDriverString(GpGraphics *graphics, GDIPCONST UINT1 SetBkMode(graphics->hdc, TRANSPARENT); SetTextColor(graphics->hdc, get_gdi_brush_color(brush)); + status = get_clip_hrgn(graphics, &hrgn); + + if (status == Ok && hrgn) + { + ExtSelectClipRgn(graphics->hdc, hrgn, RGN_AND); + DeleteObject(hrgn); + } + pt = positions[0]; GdipTransformPoints(graphics, CoordinateSpaceDevice, CoordinateSpaceWorld, &pt, 1);
participants (1)
-
Alexandre Julliard