IDirectDrawClipper::SetClipList
HRESULT SetClipList(LPRGNDATA lpClipList, DWORD dwFlags);
Sets or deletes the clip list used by the IDirectDrawSurface2::Blt, IDirectDrawSurface2::BltBatch, and IDirectDrawSurface2::UpdateOverlay methods on surfaces to which the parent DirectDrawClipper object is attached.
·Returns DD_OK if successful, or one of the following error values otherwise:
lpClipList
Either an address to a valid RGNDATA structure or NULL. If there is an existing clip list associated with the DirectDrawClipper object and this value is NULL, the clip list will be deleted.
dwFlags
This parameter is currently not used and must be set to 0.
The clip list cannot be set if a window handle is already associated with the DirectDrawClipper object. Note that the IDirectDrawSurface2::BltFast method cannot clip.
The RGNDATA structure used with this method has the following syntax.
typedef struct _RGNDATA {
RGNDATAHEADER rdh;
char Buffer[1];
} RGNDATA;
The rdh member of the RGNDATA structure is an RGNDATAHEADER structure that has the following syntax.
typedef struct _RGNDATAHEADER {
DWORD dwSize;
DWORD iType;
DWORD nCount;
DWORD nRgnSize;
RECT rcBound;
} RGNDATAHEADER;
For more information about these structures, see the documentation in the Win32 Software Development Kit.