IDirectDrawSurface7::Blt
IDirectDrawSurface7::Blt メソッドは、ビット ブリット (ブロック転送) を実行する。このメソッドは、ブリット処理中に Z バッファまたはアルファ ブレンディング (アルファ チャネルを参照) をサポートしない。
HRESULT Blt(
LPRECT lpDestRect,
LPDIRECTDRAWSURFACE7 lpDDSrcSurface,
LPRECT lpSrcRect,
DWORD dwFlags,
LPDDBLTFX lpDDBltFx
);
パラメータ
- lpDestRect
- 転送先サーフェス上にブリットする矩形の左上と右下の位置を定義する RECT 構造体のアドレス。このパラメータが NULL の場合、転送先サーフェス全体を使用する。
- lpDDSrcSurface
- ブリットの転送元である DirectDrawSurface オブジェクトの IDirectDrawSurface7 インターフェイスのアドレス。
- lpSrcRect
- 転送元サーフェス上からブリットする矩形の左上と右下の位置を定義する RECT 構造体のアドレス。このパラメータが NULL の場合、転送元サーフェス全体を使用する。
- dwFlags
- カラーキー情報を指定する、またはメソッドから特別な動作を要求する、関連付けられた DDBLTFX 構造体の有効メンバを決定するフラグの組み合わせ。以下のフラグが定義されている。
評価フラグ
- DDBLT_COLORFILL
- 転送先サーフェス上の転送先矩形を格納する RGB 色として DDBLTFX 構造体の dwFillColor メンバを使用する。
- DDBLT_DDFX
- このブリットに対して使用するエフェクトを指定する、DDBLTFX 構造体の dwDDFX メンバを使用する。
- DDBLT_DDROPS
- Microsoft® Win32® API の部分ではないラスタ処理 (ROPS) を指定する、DDBLTFX 構造体の dwDDROP メンバを使用する。
- DDBLT_DEPTHFILL
- 転送先 Z バッファ サーフェス上の転送先矩形を格納する深度値として、DDBLTFX 構造体の dwFillDepth メンバを使用する。
- DDBLT_KEYDESTOVERRIDE
- 転送先サーフェスのカラー キーとして DDBLTFX 構造体の ddckDestColorkey メンバを使用する。
- DDBLT_KEYSRCOVERRIDE
- 転送元サーフェスのカラー キーとして DDBLTFX 構造体の ddckSrcColorkey メンバを使用する。
- DDBLT_ROP
- このブリットにおける ROP に DDBLTFX 構造体の dwROP メンバを使用する。これらの ROP は、Win32 API で定義されているものと同じである。
- DDBLT_ROTATIONANGLE
- サーフェスの回転角 (1/100 度単位で指定される) として DDBLTFX 構造体の dwRotationAngle メンバを使用する。
カラー キー フラグ
- DDBLT_KEYDEST
- 転送先サーフェスに関連付けられたカラー キーを使用する。
- DDBLT_KEYSRC
- 転送元サーフェスに関連付けられたカラー キーを使用する。
動作フラグ
- DDBLT_ASYNC
- 受け取った順序でファーストイン、ファーストアウト (FIFO) ハードウェアから非同期的にこのブリットを実行する。FIFO ハードウェアの空き領域を利用できない場合、呼び出しは失敗する。
- DDBLT_DONOTWAIT
- DirectX 7.0 で追加。ブリットを実行せずに返す、またはブリットがビジーの場合に DDERR_WASSTILLDRAWING を返す。
- DDBLT_WAIT
- ブリットがビジーの場合、DDERR_WASSTILLDRAWING 戻り値をすぐに返さずに待機する。そして、ブリットがセット アップされるか、別のエラーが発生したら即座に返す。
廃止されサポートしないフラグ
- All DDBLT_ALPHA flag values.
- 現時点では、実装されていない。
- All DDBLT_ZBUFFER flag values
- このメソッドは、z 対応のブリット処理を現在サポートしていない。"DDBLT_ZBUFFER" で始まるフラグは、DirectX のこのリリースではサポートしていない。
- lpDDBltFx
- DDBLTFX 構造体のアドレス。
戻り値
成功すれば、DD_OK を返す。
失敗すれば、以下のエラー値のいずれかを返す。
注意
このメソッドでは、同期または非同期のブリット (後者がデフォルト) を、ディスプレイ メモリ間、ディスプレイ メモリからシステム メモリへ、システム メモリからディスプレイ メモリへ、またはシステム メモリ間のいずれかで実行できる。ブリットは、転送元カラー キーおよび転送先カラー キーを使って実行される。転送元および転送先矩形のサイズが異なる場合は、任意の伸縮や収縮が行われる。
通常、ブリットがビジーの場合、またはブリットをセット アップできなかった場合、IDirectDrawSurface7::Blt はエラーと共に即座に返る。同期ブリットを要求するには、DDBLT_WAIT フラグを指定する。DDBLT_WAIT フラグを指定すると、ブリットがセット アップされるか、メソッドが返る前に別のエラーが発生するまで、このメソッドは待機する。
RECT 構造体は、right および bottom メンバが排他的であるように定義される。したがって、right から left を引くと矩形の幅と等しくなる。これは、矩形の幅より 1 だけ少ない値ではない。
Windows NT/2000 :Windows 2000 が必要。
Windows 95/98 : Windows 98 が必要。
ヘッダー : ddraw.h で宣言。