IDirectDrawSurface4::SetClipper

The IDirectDrawSurface4::SetClipper method attaches a clipper object to or deletes one from a surface.

HRESULT SetClipper(
  LPDIRECTDRAWCLIPPER lpDDClipper  
);
 

Parameters

lpDDClipper
Address of the IDirectDrawClipper interface for the DirectDrawClipper object that will be attached to the DirectDrawSurface object. If this parameter is NULL, the current DirectDrawClipper object will be detached.

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_INVALIDOBJECT
DDERR_INVALIDPARAMS
DDERR_INVALIDSURFACETYPE
DDERR_NOCLIPPERATTACHED

Remarks

When setting a clipper to a surface for the first time, this method increments the clipper's reference count; subsequent calls to do not affect the clipper's reference count. If you pass NULL as the lpDDClipper parameter, the clipper is removed from the surface, and the clipper's reference count is decremented. If you do not delete the clipper, the surface will automatically release its reference to the clipper when the surface itself is released. According to COM rules, your application is responsible for releasing any references it holds to the clipper when the object is no longer needed.

This method is primarily used by surfaces that are being overlaid on or blitted to the primary surface. However, it can be used on any surface. After a DirectDrawClipper object has been attached and a clip list is associated with it, the DirectDrawClipper object will be used for the IDirectDrawSurface4::Blt, IDirectDrawSurface4::BltBatch, and IDirectDrawSurface4::UpdateOverlay operations involving the parent DirectDrawSurface object. This method can also detach a DirectDrawSurface object's current DirectDrawClipper object.

QuickInfo

  Windows NT/2000: Requires Windows 2000.
  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

IDirectDrawSurface4::GetClipper