EngGradientFill

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
URLhttps://github.com/inovia/IronHSP
備考Win32 API の gdi32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。
タイプ拡張命令
グループWin32API
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\win32_gdi32_gen2.hs