PFN_DrvPlgBlt
コールバックシグネチャ
BOOL PFN_DrvPlgBlt(
SURFOBJ* param0,
SURFOBJ* param1,
SURFOBJ* param2,
CLIPOBJ* param3,
XLATEOBJ* param4,
COLORADJUSTMENT* param5,
POINTL* param6,
POINTFIX* param7,
RECTL* param8,
POINTL* param9,
DWORD param10
);パラメーター
| フィールド | 型 |
|---|---|
| param0 | SURFOBJ* |
| param1 | SURFOBJ* |
| param2 | SURFOBJ* |
| param3 | CLIPOBJ* |
| param4 | XLATEOBJ* |
| param5 | COLORADJUSTMENT* |
| param6 | POINTL* |
| param7 | POINTFIX* |
| param8 | RECTL* |
| param9 | POINTL* |
| param10 | DWORD |
公式ドキュメント
DrvPlgBlt 関数は、デバイス管理サーフェスと GDI 管理サーフェスの組み合わせの間で、回転を伴うビットブロック転送機能を提供します。
戻り値
DrvPlgBlt は、成功すると TRUE を返します。それ以外の場合はエラーを報告し、FALSE を返します。
解説(Remarks)
DrvStretchBlt と同様に、DrvPlgBlt はデバイスドライバーが GDI ビットマップへ書き込むことを可能にします。特に、ドライバーがハーフトーン処理を実行できる場合に有用です。
ビットマップを変換するため、この関数は prcl で指定された矩形から任意の平行四辺形へビットブロック転送を実行します。平行四辺形は、3 つの点の配列を指す pptfx によって定義されます。
prcl が示す転送元の矩形は、各頂点が指定された整数座標から (-0.5,-0.5) だけずれた幾何学的な矩形として扱われます。これは DrvStretchBlt の転送元矩形と完全に一致します。転送元の矩形は常に正しい順序で指定されます。
転送元矩形の左上隅は 1 番目の点 A に対応付けられます。右上隅は 2 番目の点 B に、左下隅は 3 番目の点 C に対応付けられます。右下隅は、指定された 3 つの点をベクトルとして扱い、次の計算によって求められる平行四辺形上の暗黙の点に対応付けられます。
D = B + C - A
ストレッチ blt は平行四辺形の blt として厳密に表現できますが、転送先に与えられる座標の小数部は 0.5 になる点に注意してください。
DrvPlgBlt はグラフィックスドライバーでは省略可能であり、特定の種類の回転のためにのみ提供されます。サポートしていない操作を実行するために DrvPlgBlt が呼び出された場合、ドライバーは EngPlgBlt を呼び出す必要があります。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)