DrvRealizeBrush 関数 (winddi.h)
DrvRealizeBrush 関数は、ドライバーが指定されたサーフェスに対して指定されたブラシを実現するように要求します。
構文
BOOL DrvRealizeBrush(
[in] BRUSHOBJ *pbo,
[in, out] SURFOBJ *psoTarget,
[in] SURFOBJ *psoPattern,
[in, optional] SURFOBJ *psoMask,
[in] XLATEOBJ *pxlo,
[in] ULONG iHatch
);
パラメーター
[in] pbo
実現する BRUSHOBJ 構造体へのポインター。 psoTarget を除く他のすべてのパラメーターは、このオブジェクトから照会できます。 パラメーターの指定は、最適化として提供されます。 このパラメーターは、実現されたブラシのメモリを割り当てる BRUSHOBJ_pvAllocRbrushのパラメーターとしてのみ使用することをお勧めします。
[in, out] psoTarget
ブラシを実現する SURFOBJ 構造体へのポインター。 このサーフェスには、デバイスの物理サーフェス、デバイス形式のビットマップ、または標準形式のビットマップを指定できます。
[in] psoPattern
ブラシのパターンを記述する SURFOBJ 構造体へのポインター。 ラスター デバイスの場合、これはビットマップです。 ベクター デバイスの場合、これは DrvEnablePDEV によって提供されるパターン サーフェスの 1 つです。
[in, optional] psoMask
ブラシの透過性マスクを記述する SURFOBJ 構造体へのポインター。 これは、パターンと同じエクステントを持つピクセルビットマップあたり 1 ビットです。 0 のマスクは、ピクセルがブラシの背景ピクセルと見なされていることを意味します。 (透明な背景モードでは、背景ピクセルは塗りつぶしの影響を受けません。このパラメータは背景情報を描画しないため、このパラメータを無視できます。
[in] pxlo
パターン内の色の解釈を定義する XLATEOBJ 構造体へのポインター。 pxlo が NULL の場合、変換は必要ありません。 XLATEOBJ_Xxx サービス ルーチンを呼び出して、色をデバイスの色インデックスに変換できます。 ベクター デバイスは、ブラシの前景色を取得するために、XLATEOBJ を通じて色 0 を変換する必要があります。
[in] iHatch
psoPattern が DrvEnablePDEV によって返されるハッチ ブラシの 1 つであるかどうかを指定します。 これは、このパラメーターの値が winddi.h で定義されているHS_DDI_MAXより小さい場合に当てはまります。
戻り値
ブラシが正常に実現された場合、戻り値は TRUE です。 それ以外の場合は FALSE になり、エラー コードがログに記録されます。
注釈
ブラシを実現するために、ドライバーは GDI ブラシを内部的に使用できる形式に変換します。 実現されたブラシには、ブラシを使用して描画を高速化するためにデバイスに必要なデバイス固有の情報が含まれています。
ドライバーによるブラシの実現は、BRUSHOBJ_pvAllocRbrushの呼び出しによって割り当てられたバッファーに書き込 まれます。
DrvRealizeBrush は、任意のサーフェスへの描画を行うドライバーに必要です。
要件
要件 | 値 |
---|---|
対象プラットフォーム | デスクトップ |
Header | winddi.h (Winddi.h を含む) |