Platform SDK: DirectX |
DirectDraw アプリケーションでは、ユーザーがマウスを使ってナビゲートできる方法を提供しなくてはならない場合がある。ページ フリッピングを使うフルスクリーン排他モードのアプリケーションでは、唯一、手動でマウス カーソルを実現する方法がある。すなわち、DirectInput® または Windows マウス メッセージに応答することにより、デバイスから取得されるデータに基づいてスプライトを移動する方法である。ただし、ページ フリッピングを使わないあらゆるアプリケーションでは、依然としてシステムのマウス カーソル サポートを使うことができる。
システム マウス カーソルを使用する場合、プライマリ サーフェスの一部にブリットを行うと、グラフィックスの異常に悩まされることがある。この異常は、システムで残されたかのように見えるマウス カーソルの一部として現れる。
DirectDrawClipper オブジェクトは、ブリット処理中にマウス カーソルのイメージが " 邪魔になる " ことを阻止することで、これらの異常が現れないようにできる。これは比較的簡単に実現できる。そのためには、IDirectDraw7::CreateClipper メソッドを呼び出して、DirectDrawClipper オブジェクトを作成する。そして、IDirectDrawClipper::SetHWnd メソッドを用いて、クリッパーへアプリケーションのウィンドウ ハンドルを割り当てる。クリッパーがアタッチされると、IDirectDrawSurface7::Blt メソッドを用いてプライマリ サーフェスで実行する繰り返しのブリットでは、異常が現れなくなる。
IDirectDrawSurface7::BltFast メソッド、そして、IDirectDrawSurface、IDirectDrawSurface2、および IDirectDrawSurface3 インターフェイスに対応するメソッドは、クリッパーのアタッチ状態のサーフェスに作用しないことに注意する。
DirectDrawClipper オブジェクトは、ブリット処理中にマウス カーソルのイメージが " 邪魔になる " ことを阻止することで、これらの異常が現れないようにできる。これは比較的簡単に実現できる。そのためには、DirectDraw7.CreateClipper メソッドを呼び出して、DirectDrawClipper オブジェクトを作成する。そして、DirectDrawClipper.SetHWnd メソッドを用いて、クリッパーへアプリケーションのウィンドウ ハンドルを割り当てる。クリッパーがアタッチされると、DirectDrawSurface7.Blt メソッドを用いてプライマリ サーフェスで実行する繰り返しのブリットでは、異常が現れなくなる。