IDirectDrawSurface7::SetClipper メソッド (ddraw.h)
このサーフェスにクリッパー オブジェクトをアタッチするか、このサーフェスから削除します。
構文
HRESULT SetClipper(
[in] LPDIRECTDRAWCLIPPER unnamedParam1
);
パラメーター
[in] unnamedParam1
DirectDrawSurface オブジェクトにアタッチする DirectDrawClipper オブジェクトの IDirectDrawClipper インターフェイスへのポインター。 このパラメーターを NULL に設定すると、現在の DirectDrawClipper オブジェクトはデタッチされます。
戻り値
メソッドが成功した場合、戻り値はDD_OK。
失敗した場合、メソッドは次のいずれかのエラー値を返すことができます。
- DDERR_INVALIDOBJECT
- DDERR_INVALIDPARAMS
- DDERR_INVALIDSURFACETYPE
- DDERR_NOCLIPPERATTACHED
解説
クリップーをサーフェスに初めて設定すると、 SetClipper はクリッパーの参照カウントをインクリメントします。後続の呼び出しは、クリッパーの参照カウントには影響しません。 lpDDClipper パラメーターとして NULL を渡すと、クリップーがサーフェスから削除され、クリッパーの参照カウントがデクリメントされます。 クリッパーを削除しない場合、サーフェス自体が解放されると、サーフェスは自動的にクリッパーへの参照を解放します。 COM ルールに従って、アプリケーションは、オブジェクトが不要になったときに、クリップーに保持されている参照を解放する必要があります。
SetClipper は、主にプライマリ サーフェスに重ねて表示またはビット分割されるサーフェスで使用されます。 ただし、任意のサーフェスで使用できます。 DirectDrawClipper オブジェクトがアタッチされ、クリップ リストが関連付けられた後、DirectDrawClipper オブジェクトは、親 DirectDrawSurface オブジェクトを含む IDirectDrawSurface7::Blt、 IDirectDrawSurface7::BltBatch、 および IDirectDrawSurface7::UpdateOverlay 操作に使用されます。 SetClipper は、DirectDrawSurface オブジェクトの現在の DirectDrawClipper オブジェクトをデタッチすることもできます。
要件
対象プラットフォーム | Windows |
ヘッダー | ddraw.h |
Library | Ddraw.lib |
[DLL] | Ddraw.dll |