gdiplus: Add clipping to GDI32_GdipFillRegion.
Signed-off-by: Vincent Povirk <vincent@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
5a9f7ef06d
commit
3fd47e1be1
|
@ -3942,6 +3942,23 @@ static GpStatus GDI32_GdipFillRegion(GpGraphics* graphics, GpBrush* brush,
|
||||||
|
|
||||||
ExtSelectClipRgn(graphics->hdc, hrgn, RGN_AND);
|
ExtSelectClipRgn(graphics->hdc, hrgn, RGN_AND);
|
||||||
|
|
||||||
|
DeleteObject(hrgn);
|
||||||
|
|
||||||
|
hrgn = NULL;
|
||||||
|
status = get_clip_hrgn(graphics, &hrgn);
|
||||||
|
|
||||||
|
if (status != Ok)
|
||||||
|
{
|
||||||
|
RestoreDC(graphics->hdc, save_state);
|
||||||
|
return status;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (hrgn)
|
||||||
|
{
|
||||||
|
ExtSelectClipRgn(graphics->hdc, hrgn, RGN_AND);
|
||||||
|
DeleteObject(hrgn);
|
||||||
|
}
|
||||||
|
|
||||||
if (GetClipBox(graphics->hdc, &rc) != NULLREGION)
|
if (GetClipBox(graphics->hdc, &rc) != NULLREGION)
|
||||||
{
|
{
|
||||||
BeginPath(graphics->hdc);
|
BeginPath(graphics->hdc);
|
||||||
|
@ -3953,7 +3970,6 @@ static GpStatus GDI32_GdipFillRegion(GpGraphics* graphics, GpBrush* brush,
|
||||||
|
|
||||||
RestoreDC(graphics->hdc, save_state);
|
RestoreDC(graphics->hdc, save_state);
|
||||||
|
|
||||||
DeleteObject(hrgn);
|
|
||||||
|
|
||||||
return Ok;
|
return Ok;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue