EngStrokePath 関数 (winddi.h)
EngStrokePath 関数は、GDI が指定したパスをストロークすることを要求します。
構文
ENGAPI BOOL EngStrokePath(
SURFOBJ *pso,
PATHOBJ *ppo,
CLIPOBJ *pco,
XFORMOBJ *pxo,
BRUSHOBJ *pbo,
POINTL *pptlBrushOrg,
[in] LINEATTRS *plineattrs,
[in] MIX mix
);
パラメーター
pso
描画するサーフェスを記述する SURFOBJ 構造体へのポインター。
ppo
PATHOBJ 構造体へのポインター。 パスを構成する線、ベジエ曲線、およびその他のデータを列挙するために、PATHOBJ_Xxx サービス ルーチンが用意されています。 これは、描画する内容を示します。
pco
CLIPOBJ 構造体へのポインター。 クリップ領域を四角形のセットとして列挙するために、CLIPOBJ_Xxx サービス ルーチンが用意されています。 必要に応じて、パス内のすべての行を、この CLIPOBJ で事前に列挙できます。 つまり、ドライバーは、すべての行クリッピング計算を行うことができます。
pxo
XFORMOBJ 構造体へのポインター。 これは、幾何学的な幅の線を描画する場合にのみ必要です。 ワールド座標をデバイス座標に変換する変換を指定します。 これは、パスはデバイス座標で提供されますが、実際には幾何学的な幅の広い線がワールド座標で広がっているために必要です。
ドライバーは、 XFORMOBJ_Xxx サービス ルーチンを使用して変換を決定できます。
pbo
パスの描画時に使用するブラシを指定する BRUSHOBJ 構造体へのポインター。
pptlBrushOrg
デバイス上のブラシ パターンを揃えるために使用されるブラシの原点を含む POINTL 構造体へのポインター。
[in] plineattrs
LINEATTRS 構造体へのポインター。 行のスタイルが設定されている場合は、この構造体の elStyleState メンバーをこの関数の一部として更新する必要があることに注意してください。 また、1 ピクセル幅の化粧線を描画する場合は、同じ構造体の ptlLastPel メンバーを更新する必要があることに注意してください。
[in] mix
ブラシとコピー先を組み合わせる方法を指定します。
戻り値
GDI がパスをストロークする場合、戻り値は TRUE です。 ドライバーがパスをストロークする必要がある場合、戻り値は FALSE で、エラーはログに記録されません。 GDI でエラーが発生した場合、戻り値はDDI_ERRORされ、エラー コードがログに記録されます。
解説
ミックス モードでは、受信パターンをデバイス画面に既に存在するデータと混合する方法を定義します。 MIX データ型は、1 つの ULONG にパックされた 2 つの ROP2 値で構成されます。 下位バイトは、前景ラスター演算を定義します。次のバイトは、バックグラウンド ラスター演算を定義します。 ラスター演算コードの詳細については、Microsoft Windows SDKドキュメントを参照してください。
要件
サポートされている最小のクライアント | Windows 2000 以降のバージョンの Windows オペレーティング システムで使用できます。 |
対象プラットフォーム | ユニバーサル |
Header | winddi.h (Winddi.h を含む) |
Library | Win32k.lib |
[DLL] | Win32k.sys |