IDirectDrawClipper::SetClipList
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
);
Parameters
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.
Return Values
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 |
Remarks
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.
QuickInfo
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.
See Also
IDirectDrawClipper::GetClipList, IDirectDrawSurface3::Blt, IDirectDrawSurface3::BltFast, IDirectDrawSurface3::BltBatch, IDirectDrawSurface3::UpdateOverlay