EngGradientFill 関数は、指定したプリミティブをシェーディングする。
EngGradientFill psoDest, pco, pxlo, pVertex, nVertex, pMesh, nMesh, prclExtents, pptlDitherOrg, ulMode
psoDest : [var] 描画先のサーフェスを識別する SURFOBJ 構造体へのポインタ。 pco : [var] CLIPOBJ 構造体へのポインタ。CLIPOBJ_Xxx サービスルーチンが、クリップ領域を矩形の集合として列挙するために提供される。この列挙は変更される宛先の領域を制限する。可能な限り GDI はクリッピングを単純化する。 pxlo : [var] XLATEOBJ 構造体へのポインタ。この構造体は、32 bpp RGB フォーマットと宛先の間でカラーインデックスをどう変換すべきかを示す。ドライバは入力 COLOR16 カラー値を RGB に変換する責任がある。 pVertex : [var] TRIVERTEX 構造体配列へのポインタ。各エントリは位置情報と色情報を含む。TRIVERTEX 構造体は Microsoft Windows SDK ドキュメントで説明されている。 nVertex : [int] pVertex が指す配列内の TRIVERTEX 構造体の数を指定する。 pMesh : [intptr] pVertex が指す TRIVERTEX 要素の接続性を定義する構造体の配列へのポインタ。矩形を描画する場合、pMesh は GRADIENT_RECT 構造体配列を指し、各要素は矩形を定義する 2 つの TRIVERTEX 要素を指定する。TRIVERTEX 要素は矩形の対角頂点の任意の組み合わせを表せる。矩形描画は右下を含まない。TRIVERTEX と GRADIENT_RECT は Windows SDK ドキュメントで定義されている。三角形を描画する場合、pMesh は GRADIENT_TRIANGLE 構造体配列を指し、各要素は三角形を定義する 3 つの TRIVERTEX 要素を指定する。三角形描画は右下を含まない。GRADIENT_TRIANGLE 構造体は Windows SDK ドキュメントで定義されている。 nMesh : [int] pMesh が指す配列の要素数を指定する。 prclExtents : [var] グラデーション描画が行われる領域を定義する RECTL 構造体へのポインタ。点は宛先サーフェスの座標系で指定する。このパラメータは描画操作のサイズを推定するのに便利である。 pptlDitherOrg : [var] ディザリング用のサーフェス上の原点を定義する POINTL 構造体へのポインタ。ディザパターンの左上ピクセルがこの点に整列される。 ulMode : [int]
(プラグイン / モジュール : gdi32.dll)
EngGradientFill 関数は、指定したプリミティブをシェーディングする。 [戻り値] EngGradientFill は成功時に TRUE を返す。それ以外の場合はエラーを報告し FALSE を返す。 [備考] ドライバが DrvGradientFill をフックしているがサポートしない処理を要求された場合、EngGradientFill を呼ぶべきである。各ピクセルでカラー値を計算するために使用する数式は、ulMode の値に依存する。 GDI は頂点のアルファ値を無視し、アルファをサポートするサーフェスではアルファチャンネルを変更しない。
| プラグイン / モジュール | gdi32.dll |
| バージョン | 1.0 |
| 作成日 | 2026/04/16 |
| 著作者 | IronHSP / CsWin32 bridge |
| URL | https://github.com/inovia/IronHSP |
| 備考 | Win32 API の gdi32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。 |
| タイプ | 拡張命令 |
| グループ | Win32API |
| 対応環境 |
|
| hs ファイル | hsphelp\win32_gdi32_gen2.hs |