The IDirectDrawClipper::SetClipList method sets or deletes the clip list used by the IDirectDrawSurface3::Blt, IDirectDrawSurface3::BltBatch, and IDirectDrawSurface3::UpdateOverlay methods on surfaces to which the parent DirectDrawClipper object is attached.
HRESULT SetClipList(
LPRGNDATA lpClipList,
DWORD dwFlags
);
If the method succeeds, the return value is DD_OK.
If the method fails, the return value may be one of the following error values:
DDERR_CLIPPERISUSINGHWND |
DDERR_INVALIDCLIPLIST |
DDERR_INVALIDOBJECT |
DDERR_INVALIDPARAMS |
DDERR_OUTOFMEMORY |
The clip list cannot be set if a window handle is already associated with the DirectDrawClipper object. Note that the IDirectDrawSurface3::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 Platform Software Development Kit.
Windows NT: Use version 4.0 or later.
Windows: Use Windows 95 or later. Available as a redistributable for Windows 95.
Windows CE: Unsupported.
Header: Declared in ddraw.h.
Import Library: Use ddraw.lib.
IDirectDrawClipper::GetClipList, IDirectDrawSurface3::Blt, IDirectDrawSurface3::BltFast, IDirectDrawSurface3::BltBatch, IDirectDrawSurface3::UpdateOverlay