Platform SDK: DirectX

IDirectDrawClipper::SetClipList

The IDirectDrawClipper::SetClipList method sets or deletes the clip list used by the IDirectDrawSurface7::Blt, IDirectDrawSurface7::BltBatch, and IDirectDrawSurface7::UpdateOverlay methods on surfaces to which the parent DirectDrawClipper object is attached.

HRESULT SetClipList(
  LPRGNDATA lpClipList,  
  DWORD dwFlags          
);

Parameters

lpClipList
Address of 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 is deleted.
dwFlags
Currently not used and must be set to 0.

Return Values

If the method succeeds, the return value is DD_OK.

If it fails, the method can return 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. The 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 Platform SDK.

Requirements

  Windows NT/2000: Requires Windows NT 4.0 SP3 or later.
  Windows 95/98: Requires Windows 95 or later. Available as a redistributable for Windows 95.
  Header: Declared in ddraw.h.
  Import Library: Use ddraw.lib.

See Also

IDirectDrawClipper::GetClipList, IDirectDrawSurface7::Blt, IDirectDrawSurface7::BltFast, IDirectDrawSurface7::BltBatch, IDirectDrawSurface7::UpdateOverlay