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 構造体へのポインター。 pxloNULL の場合、変換は必要ありません。 XLATEOBJ_Xxx サービス ルーチンを呼び出して、色をデバイスの色インデックスに変換できます。 ベクター デバイスは、ブラシの前景色を取得するために、XLATEOBJ を通じて色 0 を変換する必要があります。

[in] iHatch

psoPatternDrvEnablePDEV によって返されるハッチ ブラシの 1 つであるかどうかを指定します。 これは、このパラメーターの値が winddi.h で定義されているHS_DDI_MAXより小さい場合に当てはまります。

戻り値

ブラシが正常に実現された場合、戻り値は TRUE です。 それ以外の場合は FALSE になり、エラー コードがログに記録されます。

注釈

ブラシを実現するために、ドライバーは GDI ブラシを内部的に使用できる形式に変換します。 実現されたブラシには、ブラシを使用して描画を高速化するためにデバイスに必要なデバイス固有の情報が含まれています。

ドライバーによるブラシの実現は、BRUSHOBJ_pvAllocRbrushの呼び出しによって割り当てられたバッファーに書き込 まれます

DrvRealizeBrush は、任意のサーフェスへの描画を行うドライバーに必要です。

要件

要件
対象プラットフォーム デスクトップ
Header winddi.h (Winddi.h を含む)

こちらもご覧ください

BRUSHOBJ

BRUSHOBJ_pvAllocRbrush

DrvEnablePDEV

XLATEOBJ