DrvTextOut 関数 (winddi.h)
DrvTextOut 関数は、指定した位置にグリフのセットをレンダリングするドライバーを呼び出す GDI からのエントリ ポイントです。
構文
BOOL DrvTextOut(
SURFOBJ *pso,
STROBJ *pstro,
FONTOBJ *pfo,
CLIPOBJ *pco,
RECTL *prclExtra,
RECTL *prclOpaque,
BRUSHOBJ *pboFore,
BRUSHOBJ *pboOpaque,
POINTL *pptlOrg,
MIX mix
);
パラメーター
pso
書き込むサーフェスを記述する SURFOBJ 構造体へのポインター。
pstro
レンダリングするグリフと、それらを配置する位置を定義する STROBJ 構造体へのポインター。
pfo
フォントとそのグリフに関する情報を取得する FONTOBJ 構造体へのポインター。
pco
すべてのレンダリングを実行する必要があるクリップ領域を定義する CLIPOBJ 構造体へのポインター。 ドライバーは、クリップ領域の外側のピクセルに影響を与えることはできません。
prclExtra
RECTL 構造体へのポインター。 GDI は、この関数の呼び出しで常にこのパラメーターを NULL に設定します。 ドライバーでは無視する必要があります。
prclOpaque
1 つの不透明な四角形を表す RECTL 構造体へのポインター。 この四角形は右下の排他的です。 この四角形内のピクセル (前景ではなくクリップされていないピクセル) は、不透明なブラシでレンダリングされます。 この四角形は、描画するテキストの境界を常に設定します。 このパラメーターが NULL の場合、不透明なピクセルはレンダリングされません。
pboFore
前景ピクセルに使用するブラシ オブジェクトを表す BRUSHOBJ 構造体へのポインター。 このブラシは常に純色のブラシになります。
pboOpaque
不透明なピクセルを表す BRUSHOBJ 構造体へのポインター。 このブラシの前景と背景の両方のミックス モードがR2_COPYPENと見なされます。 ドライバーが DEVINFO 構造体の flGraphicsCaps メンバーのGCAPS_ARBRUSHOPAQUE機能ビットを設定しない限り、常に純色ブラシで呼び出されます。
pptlOrg
両方のブラシのブラシの原点を定義する POINTL 構造体へのポインター。
mix
pboFore が指すブラシに使用する前景と背景のラスター操作を定義するミックス モード。 ミックス モードの詳細については、「解説」を参照してください。
戻り値
関数が成功した場合、戻り値は TRUE です。それ以外の場合は FALSE です。
解説
DrvTextOut への入力パラメーターは、前景と不透明の 2 つのピクセル セットを定義します。 ドライバーは、不透明なピクセルが最初に不透明なブラシでレンダリングされ、前景のピクセルが前景ブラシでレンダリングされるプロセスと同じ結果になるように、サーフェスをレンダリングする必要があります。 これらの各操作は、クリッピングによって制限されます。
前景ピクセルと不透明ピクセルは、色がサーフェスにブラシ処理される画面と見なされます。 フォントのグリフ自体に色がありません。
DrvTextOut への入力パラメーターは、グリフ ピクセルのセット、追加の四角形のセット、不透明な四角形、クリップ領域を定義します。 フォアグラウンドピクセルと不透明ピクセルのセットを計算してレンダリングするのは、ドライバーの責任です。
GDI では 、DrvTextOut と DrvDestroyFont が 重複することはありません。そのため、ドライバーは DrvTextOut 呼び出しの処理中にキャッシュされた情報に依存できます。
ミックス モードでは、受信パターンをデバイスサーフェイスに既に存在するデータと混合する方法を定義します。 MIX データ型は、1 つの ULONG にパックされた 2 つのバイナリ ラスター演算 (ROP2) 値で構成されます。 最下位バイトは、前景ラスター演算を定義します。次のバイトは、バックグラウンド ラスター演算を定義します。 ラスター演算コードの詳細については、Microsoft Windows SDKドキュメントを参照してください。
これは条件付きで必要な関数です。
要件
対象プラットフォーム | デスクトップ |
Header | winddi.h (Winddi.h を含む) |