ホーム › Graphics.DirectComposition › IDCompositionTransform
IDCompositionTransform
COM公式ドキュメント
ビジュアルのサブツリーの座標空間を変更するために使用できる 2D 変換を表します。
解説(Remarks)
IDCompositionTransform インターフェイスは、2D アフィン変換を表す抽象インターフェイスです。変換は、その変換が関連付けられているビジュアルをルートとするビジュアルのサブツリー全体に影響します。1 つの変換オブジェクトを複数のビジュアルに関連付けることができます。変換オブジェクトが変更されると、影響を受けるすべてのビジュアルが再合成され、変更が反映されます。
変換は、ビジュアル上のすべての描画操作の座標系を変更することによって機能します。たとえば、通常、ビジュアルに関連付けられたビットマップは位置 (0,0) に描画され、そのビットマップの幅と高さいっぱいに広がります。平行移動の変換が適用されると、ビットマップはその変換の分だけオフセットされた位置に描画されます。拡大縮小の変換が適用されると、ビットマップが覆う範囲がその拡大縮小の変換の影響を受けます。IDCompositionDevice::CreateTransformGroup インターフェイスを使用すると、1 つのビジュアルに複数の変換を同時に適用できます。
メソッド 0
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IDCompositionTransform "{FD55FAA7-37E0-4C20-95D2-9BE45BC33F55}"
#usecom global IDCompositionTransform IID_IDCompositionTransform "{}"
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。