Win32 API 日本語リファレンス
ホーム › Devices.Display › PFN_DrvTransparentBlt

PFN_DrvTransparentBlt

コールバック

シグネチャ

BOOL PFN_DrvTransparentBlt(
    SURFOBJ* param0,
    SURFOBJ* param1,
    CLIPOBJ* param2,
    XLATEOBJ* param3,
    RECTL* param4,
    RECTL* param5,
    DWORD param6,
    DWORD param7
);

パラメーター

フィールド型
param0SURFOBJ*
param1SURFOBJ*
param2CLIPOBJ*
param3XLATEOBJ*
param4RECTL*
param5RECTL*
param6DWORD
param7DWORD

公式ドキュメント

DrvTransparentBlt 関数は、透過を伴うビットブロック転送機能を提供します。

戻り値

DrvTransparentBlt は、成功した場合に TRUE を返します。それ以外の場合は FALSE を返します。

解説(Remarks)

グラフィックスドライバーでは、DrvTransparentBlt 関数を任意で実装できます。

透過を伴うビットブロック転送は、2 つのデバイス管理サーフェイスの間、またはデバイス管理サーフェイスと GDI 管理の標準形式ビットマップとの間でサポートされます。ドライバーの作成者は、ビデオメモリ内のオフスクリーンデバイスビットマップからビデオメモリ内の他のサーフェイスへの blt をサポートすることが推奨されます。それ以外のケースはすべて、性能上の不利をほとんど伴わずに EngTransparentBlt に委ねることができます。ドライバーは、デバイス管理サーフェイスが関係する呼び出しを EngTransparentBlt に委ねることができます。

ソースサーフェイス上のピクセルのうち、iTransColor で指定された透過色に一致するものはコピーされません。透過 blt の詳細な説明については、Copying Bitmaps を参照してください。

同一サーフェイス上で転送元と転送先の矩形が重なった状態でドライバーが呼び出されることはありません。

ドライバーは、カラーキーの比較において未使用のビットを無視する必要があります。たとえば、ビットマップ形式が 5:5:5(赤、緑、青がそれぞれ 5 ビット)の場合の最上位ビットなどです。

ドライバーは、EngAssociateSurface を呼び出すときに HOOK_TRANSPARENTBLT フラグを設定することで DrvTransparentBlt をフックします。ドライバーが DrvTransparentBlt をフックしており、サポートしていない操作の実行を求められた場合は、EngTransparentBlt の呼び出しにデータを渡して GDI に処理させる必要があります。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)