Win32 API 日本語リファレンス
ホームGraphics.DirectComposition › IDCompositionTranslateTransform3D

IDCompositionTranslateTransform3D

COM
IID91636d4b-9ba1-4532-aaf7-e3344994d788継承元IDCompositionTransform3D自前メソッド開始 vtbl3

公式ドキュメント

ビジュアルの x 軸、y 軸、z 軸方向のオフセットに影響を与える 3D 変換を表します。

解説(Remarks)

3D 平行移動変換は、次の 4 行 4 列の行列を表します。

Four-by-four translation matrix

その効果は、ビジュアルのサブツリーのブレンド位置を xyz だけオフセットすることです。

メソッド 6

vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。

vtbl 3 HRESULT SetOffsetX(IDCompositionAnimation* animation)
animationIDCompositionAnimation*inX方向移動量を駆動するアニメーションへのポインタ。
vtbl 4 HRESULT SetOffsetX(FLOAT offsetX)
offsetXFLOATinX方向の平行移動量(DIP)。
vtbl 5 HRESULT SetOffsetY(IDCompositionAnimation* animation)
animationIDCompositionAnimation*inY方向移動量を駆動するアニメーションへのポインタ。
vtbl 6 HRESULT SetOffsetY(FLOAT offsetY)
offsetYFLOATinY方向の平行移動量(DIP)。
vtbl 7 HRESULT SetOffsetZ(IDCompositionAnimation* animation)
animationIDCompositionAnimation*inZ方向移動量を駆動するアニメーションへのポインタ。
vtbl 8 HRESULT SetOffsetZ(FLOAT offsetZ)
offsetZFLOATinZ方向(奥行き)の平行移動量(DIP)。
出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

#define global IID_IDCompositionTranslateTransform3D "{91636D4B-9BA1-4532-AAF7-E3344994D788}"
#usecom global IDCompositionTranslateTransform3D IID_IDCompositionTranslateTransform3D "{}"
#comfunc global IDCompositionTranslateTransform3D_SetOffsetX  3 sptr
#comfunc global IDCompositionTranslateTransform3D_SetOffsetX  4 float
#comfunc global IDCompositionTranslateTransform3D_SetOffsetY  5 sptr
#comfunc global IDCompositionTranslateTransform3D_SetOffsetY  6 float
#comfunc global IDCompositionTranslateTransform3D_SetOffsetZ  7 sptr
#comfunc global IDCompositionTranslateTransform3D_SetOffsetZ  8 float
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。