Platform SDK: DirectX |
IDirectDrawSurface7::SetClipper メソッドは、サーフェスにクリッパー オブジェクトをアタッチしたり、サーフェスからクリッパー オブジェクトを削除する。
HRESULT SetClipper( LPDIRECTDRAWCLIPPER lpDDClipper );
成功すれば、DD_OK を返す。
失敗すれば、以下のエラー値のいずれかを返す。
DDERR_INVALIDOBJECT |
DDERR_INVALIDPARAMS |
DDERR_INVALIDSURFACETYPE |
DDERR_NOCLIPPERATTACHED |
クリッパーを最初にサーフェスに設定するときに、このメソッドはクリッパーの参照カウントをインクリメントする。つまり、その後の呼び出しはクリッパーの参照カウントに影響しない。IpDDClipper パラメータとして NULL を渡すと、クリッパーはサーフェスから削除され、クリッパーの参照カウントがデクリメントされる。クリッパーを削除していない場合、サーフェス自体が解放されるときに、サーフェスによってクリッパーへの参照が自動的に解放される。COM 規則により、オブジェクトが不要になると、アプリケーションではクリッパーに対して保持しているあらゆる参照を解放する必要がある。
このメソッドは、プライマリ サーフェスにオーバーレイされるか、ブリットされるサーフェスにより主に使用される。ただし、このメソッドは、どのサーフェス上でも使用できる。DirectDrawClipper オブジェクトがアタッチされ、そこにクリップ リストが関連付けられると、その DirectDrawClipper オブジェクトは親の DirectDrawSurface オブジェクトを含む IDirectDrawSurface7::Blt、IDirectDrawSurface7::BltBatch、および IDirectDrawSurface7::UpdateOverlay 処理で使用される。このメソッドは、また、DirectDrawSurface オブジェクトの現在の DirectDrawClipper オブジェクトのアタッチも解除できる。
Windows NT/2000 :Windows 2000 が必要。
Windows 95/98 : Windows 98 が必要。
ヘッダー : ddraw.h で宣言。