IDirectDrawSurface7::UpdateOverlay
IDirectDrawSurface7::UpdateOverlay メソッドは、オーバーレイ サーフェスのビジュアル属性を再配置したり変更する。これらのサーフェスには、DDSCAPS_OVERLAY フラグを設定する必要がある。
HRESULT UpdateOverlay(
LPRECT lpSrcRect,
LPDIRECTDRAWSURFACE7 lpDDDestSurface,
LPRECT lpDestRect,
DWORD dwFlags,
LPDDOVERLAYFX lpDDOverlayFx
);
パラメータ
- lpSrcRect
- オーバーレイとして使用される転送元サーフェスの領域の x、y、幅、および高さを定義する RECT 構造体のアドレス。このパラメータは、オーバーレイを隠蔽する場合や、オーバーレイ サーフェス全体を使用し、かつオーバーレイ サーフェスがデバイス ドライバからの境界およびサイズアライメント制限にも従うことを示す場合に、NULL とする。
- lpDDDestSurface
- オーバーレイが適用されるサーフェスの IDirectDrawSurface7 インターフェイスのアドレス。
- lpDestRect
- オーバーレイを移動する転送先サーフェスの領域の x、y、幅、および高さを定義する RECT 構造体のアドレス。このパラメータは、オーバーレイを隠蔽する場合に NULL となる。
- dwFlags
- 以下のフラグが定義されている。
- DDOVER_ADDDIRTYRECT
- エミュレートされたオーバーレイ サーフェスにダーティー矩形を追加する。
- DDOVER_ALPHADEST
- 廃止。
- DDOVER_ALPHADESTCONSTOVERRIDE
- このオーバーレイの転送先アルファ チャネルとして、DDOVERLAYFX 構造体の dwAlphaDestConst メンバを使用する。
- DDOVER_ALPHADESTNEG
- アルファ値の増加につれ、転送先サーフェスがより透明型となることを示す (0 は不透明)。
- DDOVER_ALPHADESTSURFACEOVERRIDE
- このオーバーレイの転送先アルファ チャネルとして、DDOVERLAYFX 構造体の lpDDSAlphaDest メンバを使用する。
- DDOVER_ALPHAEDGEBLEND
- カラー キー色との境にある、画像のエッジのアルファ チャネルとして、DDOVERLAYFX 構造体の dwAlphaEdgeBlend メンバを使用する。
- DDOVER_ALPHASRC
- このオーバーレイの転送元アルファ チャネルとして、ピクセル フォーマットのアルファ情報、または転送元サーフェスにアタッチされるアルファ チャネル サーフェスのいずれかを使用する。
- DDOVER_ALPHASRCCONSTOVERRIDE
- このオーバーレイの転送元アルファ チャネルとして、DDOVERLAYFX 構造体の dwAlphaSrcConst メンバを使用する。
- DDOVER_ALPHASRCNEG
- アルファ値の増加につれ、転送元サーフェスがより透明型になることを示す (0 は不透明)。
- DDOVER_ALPHASRCSURFACEOVERRIDE
- このオーバーレイの転送元アルファ チャネルとして、DDOVERLAYFX 構造体の lpDDSAlphaSrc メンバを使用する。
- DDOVER_ARGBSCALEFACTORS
- DirectX 7.0 で追加。DDOVERLAYFX 構造体が有効な ARGB スケーリング係数を含むことを示す。
- DDOVER_AUTOFLIP
- ビデオ ポート VSYNC が発生するたびに、フリッピング チェーンの次のサーフェスを自動的にフリップする。
- DDOVER_BOB
- インターレイス ビデオ ストリームの個々のフィールドを異常なく個別に表示する。
- DDOVER_BOBHARDWARE
- BOB 処理は、ソフトウェアまたはエミュレートではなく、ハードウェアを使用して実行される。このフラグは、DDOVER_BOB フラグと共に使用しなくてはならない。
- DDOVER_DDFX
- IpDDOverlayFx パラメータでオーバーレイ FX フラグを使い、特殊なオーバーレイ エフェクトを定義する。
- DDOVER_DEGRADEARGBSCALING
- DirectX 7.0 で追加。ARGB スケーリング係数は、ドライバ能力に適合するように下げられる場合がある。
- DDOVER_HIDE
- このオーバーレイをオフにする。
- DDOVER_INTERLEAVED
- サーフェス メモリは、インターリーブされたフィールドから成る。
- DDOVER_KEYDEST
- 転送先サーフェスに関連付けられているカラー キーを使用する。
- DDOVER_KEYDESTOVERRIDE
- 転送先サーフェスのカラー キーとして、DDOVERLAYFX 構造体の dckDestColorkey メンバを使用する。
- DDOVER_KEYSRC
- 転送元サーフェスに関連付けられているカラー キーを使用する。
- DDOVER_KEYSRCOVERRIDE
- 転送元サーフェスのカラー キー として、DDOVERLAYFX 構造体の dckSrcColorkey メンバを使用する。
- DDOVER_OVERRIDEBOBWEAVE
- BOB/WEAVE 決定を、ほかのインターフェイスでオーバーライドしてはならない。
- DDOVER_REFRESHALL
- エミュレートされたオーバーレイ サーフェスにサーフェス全体を再描画する。
- DDOVER_REFRESHDIRTYRECTS
- エミュレートされたオーバーレイ サーフェスにすべてのダーティー矩形を再描画する。
- DDOVER_SHOW
- このオーバーレイをオンにする。
- lpDDOverlayFx
- 使用するエフェクトを記述する DDOVERLAYFX 構造体のアドレス。DDOVER_DDFX フラグを指定しない場合は NULL にできる。
戻り値
成功すれば、DD_OK を返す。
失敗すれば、以下のエラー値のいずれかを返す。
Windows NT/2000 :Windows 2000 が必要。
Windows 95/98 : Windows 98 が必要。
ヘッダー : ddraw.h で宣言。