Platform SDK: DirectX

IDirectDrawSurface7::BltFast

IDirectDrawSurface7::BltFast メソッドは、転送元カラー キー または転送先カラー キー を使って、転送元コピー ブリットあるいは透過型ブリットを実行する。

HRESULT BltFast(
  DWORD dwX,                            
  DWORD dwY,                            
  LPDIRECTDRAWSURFACE7 lpDDSrcSurface,  
  LPRECT lpSrcRect,                     
  DWORD dwTrans                         
);

パラメータ

dwXdwY
転送先サーフェス上にブリットする x 座標と y 座標。
lpDDSrcSurface
ブリットの転送元である DirectDrawSurface オブジェクトの IDirectDrawSurface7 インターフェイスのアドレス。
lpSrcRect
転送元サーフェスからブリットする矩形の左上と右下の角を定義する RECT 構造体のアドレス。
dwTrans
転送のタイプ。以下の転送が定義されている。
DDBLTFAST_DESTCOLORKEY
転送先カラー キーを使用する透過型ブリット。
DDBLTFAST_NOCOLORKEY
非透過型の通常のコピー ブリット。
DDBLTFAST_SRCCOLORKEY
転送元カラー キーを使用する透過型ブリット。
DDBLTFAST_WAIT
ブリットがビジーの場合、DDERR_WASSTILLDRAWING メッセージを返さずに待機する。ブリットがセット アップされるか、あるいは別のエラーが発生すると即座に返す。

戻り値

成功すれば、DD_OK を返す。

失敗すれば、以下のエラー値のいずれかを返す。

DDERR_EXCEPTION
DDERR_GENERIC
DDERR_INVALIDOBJECT
DDERR_INVALIDPARAMS
DDERR_INVALIDRECT
DDERR_NOBLTHW
DDERR_SURFACEBUSY
DDERR_SURFACELOST
DDERR_UNSUPPORTED
DDERR_WASSTILLDRAWING

注意

ハードウェアが非同期ブリットをサポートする場合、このメソッドは常にそれを試みる。

このメソッドはディスプレイ メモリ サーフェス上だけで作用し、ブリット中はクリップできない。アタッチされたクリッパーがあるサーフェスでこのメソッドを使用すると、呼び出しは失敗し、メソッドは DDERR_UNSUPPORTED を返す。

IDirectDrawSurface7::BltFast のソフトウェア実装は、IDirectDrawSurface7::Blt メソッドより 10 パーセントだけ高速である。ただし、ディスプレイ ハードウェアを使用している場合は、両者の間に速さの違いはない。

通常、ブリットがビジーの場合、およびブリットがセットアップされていない場合、IDirectDrawSurface7::BltFast は即座にエラーを返す。ただし、ブリットがセット アップされるか別のエラーが発生するまで、このメソッドを返さない場合は、DDBLTFAST_WAIT フラグを使用する。

動作環境

  Windows NT/2000 :Windows 2000 が必要。
  Windows 95/98 : Windows 98 が必要。
  ヘッダー : ddraw.h で宣言。