ホーム › Graphics.DirectComposition › IDCompositionScaleTransform3D
IDCompositionScaleTransform3D
COM公式ドキュメント
ビジュアルの x 軸、y 軸、z 軸方向の拡大縮小に作用する 3D 変換エフェクトを表します。座標系は指定された中心点を基準に拡大縮小されます。
解説(Remarks)
3D スケール変換は、次の 4 行 4 列の行列を表します。
このエフェクトにより、ビジュアルのサブツリーの合成が拡大または縮小され、中心点が移動しないように対応する平行移動が適用されます。
メソッド 12
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 3 HRESULT SetScaleX(IDCompositionAnimation* animation)
| animation | IDCompositionAnimation* | in | X軸方向の拡大率を時間変化させるアニメーションオブジェクト。NULL不可。 |
| scaleX | FLOAT | in | X軸方向の拡大縮小率。1.0で等倍、負値で反転を表す浮動小数点値である。 |
vtbl 5 HRESULT SetScaleY(IDCompositionAnimation* animation)
| animation | IDCompositionAnimation* | in | Y軸方向の拡大率を時間変化させるアニメーションオブジェクト。NULL不可。 |
| scaleY | FLOAT | in | Y軸方向の拡大縮小率。1.0で等倍、負値で反転を表す浮動小数点値である。 |
vtbl 7 HRESULT SetScaleZ(IDCompositionAnimation* animation)
| animation | IDCompositionAnimation* | in | Z軸方向の拡大率を時間変化させるアニメーションオブジェクト。NULL不可。 |
| scaleZ | FLOAT | in | Z軸方向の拡大縮小率。1.0で等倍、負値で反転を表す浮動小数点値である。 |
vtbl 9 HRESULT SetCenterX(IDCompositionAnimation* animation)
| animation | IDCompositionAnimation* | in | 拡大中心点のX座標を時間変化させるアニメーションオブジェクト。NULL不可。 |
| centerX | FLOAT | in | 拡大縮小の中心点のX座標。原点からのDIP単位のオフセットを指定する。 |
vtbl 11 HRESULT SetCenterY(IDCompositionAnimation* animation)
| animation | IDCompositionAnimation* | in | 拡大中心点のY座標を時間変化させるアニメーションオブジェクト。NULL不可。 |
| centerY | FLOAT | in | 拡大縮小の中心点のY座標。原点からのDIP単位のオフセットを指定する。 |
vtbl 13 HRESULT SetCenterZ(IDCompositionAnimation* animation)
| animation | IDCompositionAnimation* | in | 拡大中心点のZ座標を時間変化させるアニメーションオブジェクト。NULL不可。 |
| centerZ | FLOAT | in | 拡大縮小の中心点のZ座標。原点からのDIP単位のオフセットを指定する。 |
出典・ライセンス: 上記「公式ドキュメント」の内容は 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_IDCompositionScaleTransform3D "{2A9E9EAD-364B-4B15-A7C4-A1997F78B389}"
#usecom global IDCompositionScaleTransform3D IID_IDCompositionScaleTransform3D "{}"
#comfunc global IDCompositionScaleTransform3D_SetScaleX 3 sptr
#comfunc global IDCompositionScaleTransform3D_SetScaleX 4 float
#comfunc global IDCompositionScaleTransform3D_SetScaleY 5 sptr
#comfunc global IDCompositionScaleTransform3D_SetScaleY 6 float
#comfunc global IDCompositionScaleTransform3D_SetScaleZ 7 sptr
#comfunc global IDCompositionScaleTransform3D_SetScaleZ 8 float
#comfunc global IDCompositionScaleTransform3D_SetCenterX 9 sptr
#comfunc global IDCompositionScaleTransform3D_SetCenterX 10 float
#comfunc global IDCompositionScaleTransform3D_SetCenterY 11 sptr
#comfunc global IDCompositionScaleTransform3D_SetCenterY 12 float
#comfunc global IDCompositionScaleTransform3D_SetCenterZ 13 sptr
#comfunc global IDCompositionScaleTransform3D_SetCenterZ 14 float
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。