Win32 API 日本語リファレンス
ホーム › 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
);

パラメーター

フィールド型
param0SURFOBJ*
param1CLIPOBJ*
param2XLATEOBJ*
param3TRIVERTEX*
param4DWORD
param5void*
param6DWORD
param7RECTL*
param8POINTL*
param9DWORD

公式ドキュメント

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)