#209 support clipper from hwnd for New Robinson

This commit is contained in:
FunkyFr3sh 2023-03-06 01:40:47 +01:00
parent d2557c66c8
commit e61e0d2321
2 changed files with 12 additions and 4 deletions

View file

@ -988,8 +988,20 @@ HRESULT dds_ReleaseDC(IDirectDrawSurfaceImpl* This, HDC hDC)
HRESULT dds_SetClipper(IDirectDrawSurfaceImpl* This, IDirectDrawClipperImpl* lpClipper)
{
if (lpClipper)
{
IDirectDrawClipper_AddRef(lpClipper);
if ((This->caps & DDSCAPS_PRIMARYSURFACE) && lpClipper->hwnd)
{
if (lpClipper->region)
DeleteObject(lpClipper->region);
RECT rc = { 0, 0, This->width, This->height };
lpClipper->region = CreateRectRgnIndirect(&rc);
}
}
if (This->clipper)
IDirectDrawClipper_Release(This->clipper);