ホーム › Devices.Display › PFN_DrvGradientFill
PFN_DrvGradientFill
コールバックシグネチャ
BOOL PFN_DrvGradientFill(
SURFOBJ* param0,
CLIPOBJ* param1,
XLATEOBJ* param2,
TRIVERTEX* param3,
DWORD param4,
void* param5,
DWORD param6,
RECTL* param7,
POINTL* param8,
DWORD param9
);パラメーター
| フィールド | 型 |
|---|---|
| param0 | SURFOBJ* |
| param1 | CLIPOBJ* |
| param2 | XLATEOBJ* |
| param3 | TRIVERTEX* |
| param4 | DWORD |
| param5 | void* |
| param6 | DWORD |
| param7 | RECTL* |
| param8 | POINTL* |
| param9 | DWORD |
公式ドキュメント
DrvGradientFill 関数は、指定されたプリミティブをシェーディングします。
戻り値
DrvGradientFill は、成功した場合に TRUE を返します。それ以外の場合は FALSE を返し、EngSetLastError を呼び出してエラーを報告します。
解説(Remarks)
DrvGradientFill は、グラフィックスドライバーで任意に実装できます。GDI は、パレットベースのサーフェスに対してこの関数を呼び出すことはありません。
ドライバーは、EngAssociateSurface または EngModifySurface を呼び出すときに HOOK_GRADIENTFILL フラグを設定することで、DrvGradientFill をフックします。ドライバーが DrvGradientFill をフックしており、サポートしていない操作を実行するために呼び出された場合、ドライバーは EngGradientFill の呼び出しにデータを引き渡して、その操作を GDI に処理させる必要があります。
GDI は、8bpp の変換先サーフェスに対して DrvGradientFill を呼び出しません。
プリミティブの各ピクセルにおける色値を計算する式は、次のように ulMode に依存します。
3 つの色チャネル全体で累積される誤差の合計は、8 を超えてはなりません。許容される誤差の詳細については、Special Effects in Display Drivers を参照してください。
ドライバーは頂点のアルファ値を無視し、アルファブレンディングをサポートするサーフェスではアルファチャネルを変更しないでおく必要があります。
出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)