IUIAnimationTransition2
COM公式ドキュメント
遷移(トランジション)を定義する IUIAnimationTransition インターフェイスを拡張します。IUIAnimationTransition2 の遷移は、指定された次元においてアニメーション変数が時間とともにどのように変化するかを決定します。
メソッド 7
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
アニメーション変数に対して遷移が指定されている次元数を取得します。
| dimension | DWORD* | out | 次元数。 |
戻り値
このメソッドが成功すると S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。エラーコードの一覧については Windows Animation Error Codes を参照してください。
遷移の初期値を設定します。
| value | DOUBLE | in | 遷移の初期値。 |
戻り値
成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。エラーコードの一覧については Windows Animation Error Codes を参照してください。
解説(Remarks)
遷移をストーリーボードに追加した後で、このメソッドを呼び出さないでください。
アニメーション変数の指定された各次元について、遷移の初期値を設定します。
| value | DOUBLE* | in | 遷移の初期値を格納するベクター(サイズは cDimension)。 |
| cDimension | DWORD | in | 遷移の値が必要な次元数。このパラメーターは value に列挙された値の個数を指定します。 |
戻り値
成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。エラーコードの一覧については Windows Animation Error Codes を参照してください。
解説(Remarks)
アニメーションマネージャーは、遷移をストーリーボードに追加した後でこのメソッドを呼び出さないでください。
遷移の初期速度を設定します。
| velocity | DOUBLE | in | 遷移の初期速度。 |
戻り値
成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。エラーコードの一覧については Windows Animation Error Codes を参照してください。
アニメーション変数の指定された各次元について、遷移の初期速度を設定します。
| velocity | DOUBLE* | in | 遷移の初期速度を格納するベクター(サイズは cDimension)。 |
| cDimension | DWORD | in | 遷移の速度が必要な次元数。このパラメーターは velocity に列挙された値の個数を指定します。 |
戻り値
成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。エラーコードの一覧については Windows Animation Error Codes を参照してください。
遷移の継続時間が既知かどうかを判定します。
戻り値
このメソッドが成功すると S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。エラーコードの一覧については Windows Animation Error Codes を参照してください。
解説(Remarks)
遷移が追加されたストーリーボードがスケジュール済み、または再生中の場合、このメソッドを呼び出さないでください。
遷移の継続時間を取得します。(IUIAnimationTransition2.GetDuration)
| duration | DOUBLE* | out | 遷移の継続時間(秒単位)。 |
戻り値
このメソッドが成功すると S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。エラーコードの一覧については Windows Animation Error Codes を参照してください。
解説(Remarks)
アプリケーションは通常、このメソッドを呼び出す前に IsDurationKnown メソッドを呼び出す必要があります。
遷移が追加されたストーリーボードがスケジュール済み、または再生中の場合、このメソッドを呼び出さないでください。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IUIAnimationTransition2 "{62FF9123-A85A-4E9B-A218-435A93E268FD}" #usecom global IUIAnimationTransition2 IID_IUIAnimationTransition2 "{}" #comfunc global IUIAnimationTransition2_GetDimension 3 var #comfunc global IUIAnimationTransition2_SetInitialValue 4 double #comfunc global IUIAnimationTransition2_SetInitialVectorValue 5 var,int #comfunc global IUIAnimationTransition2_SetInitialVelocity 6 double #comfunc global IUIAnimationTransition2_SetInitialVectorVelocity 7 var,int #comfunc global IUIAnimationTransition2_IsDurationKnown 8 #comfunc global IUIAnimationTransition2_GetDuration 9 var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。#define global IID_IUIAnimationTransition2 "{62FF9123-A85A-4E9B-A218-435A93E268FD}" #usecom global IUIAnimationTransition2 IID_IUIAnimationTransition2 "{}" #comfunc global IUIAnimationTransition2_GetDimension 3 sptr #comfunc global IUIAnimationTransition2_SetInitialValue 4 double #comfunc global IUIAnimationTransition2_SetInitialVectorValue 5 sptr,int #comfunc global IUIAnimationTransition2_SetInitialVelocity 6 double #comfunc global IUIAnimationTransition2_SetInitialVectorVelocity 7 sptr,int #comfunc global IUIAnimationTransition2_IsDurationKnown 8 #comfunc global IUIAnimationTransition2_GetDuration 9 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。