1
0
mirror of https://github.com/narzoul/DDrawCompat synced 2024-12-30 08:55:36 +01:00

Fixed clipping of monitor-specific DCs

This commit is contained in:
narzoul 2021-02-21 17:36:09 +01:00
parent 97e08f7988
commit d268c51d8f

View File

@ -107,17 +107,13 @@ namespace
void setClippingRegion(const CompatDc& compatDc, HWND hwnd, const POINT& origin, const RECT& virtualScreenBounds) void setClippingRegion(const CompatDc& compatDc, HWND hwnd, const POINT& origin, const RECT& virtualScreenBounds)
{ {
Gdi::Region sysRgn;
GetRandomRgn(compatDc.origDc, sysRgn, SYSRGN);
if (hwnd) if (hwnd)
{ {
Gdi::Region sysRgn;
GetRandomRgn(compatDc.origDc, sysRgn, SYSRGN);
OffsetRgn(sysRgn, -virtualScreenBounds.left, -virtualScreenBounds.top); OffsetRgn(sysRgn, -virtualScreenBounds.left, -virtualScreenBounds.top);
SelectClipRgn(compatDc.dc, sysRgn);
}
else
{
SelectClipRgn(compatDc.dc, nullptr);
} }
SelectClipRgn(compatDc.dc, sysRgn);
Gdi::Region clipRgn; Gdi::Region clipRgn;
if (1 == GetClipRgn(compatDc.origDc, clipRgn)) if (1 == GetClipRgn(compatDc.origDc, clipRgn))