IUIAnimationVariable2
COM公式ドキュメント
アニメーション変数を定義します。アニメーション変数は、複数の次元でアニメーション可能なビジュアル要素を表します。
メソッド 26
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
アニメーション変数をアニメーションさせる次元数を取得します。
| dimension | DWORD* | out | 次元数。 |
戻り値
このメソッドが成功した場合は S_OK を返します。失敗した場合は HRESULT エラーコードを返します。エラーコードの一覧については、Windows Animation Error Codes を参照してください。
アニメーション変数の値を取得します。
| value | DOUBLE* | out | アニメーション変数の値。 |
戻り値
このメソッドが成功した場合は S_OK を返します。失敗した場合は HRESULT エラーコードを返します。エラーコードの一覧については、Windows Animation Error Codes を参照してください。
指定した次元におけるアニメーション変数の値を取得します。
| value | DOUBLE* | out | アニメーション変数の値。 |
| cDimension | DWORD | in | アニメーション変数の値を取得する次元。 |
戻り値
このメソッドが成功した場合は S_OK を返します。失敗した場合は HRESULT エラーコードを返します。エラーコードの一覧については、Windows Animation Error Codes を参照してください。
アニメーション変数のアニメーションカーブを取得します。
| animation | IDCompositionAnimation* | in | アニメーションカーブのプリミティブ列を生成するオブジェクト。 |
戻り値
このメソッドが成功した場合は S_OK を返します。失敗した場合は HRESULT エラーコードを返します。エラーコードの一覧については、Windows Animation Error Codes を参照してください。
解説(Remarks)
animation パラメーターが参照する IDCompositionAnimation オブジェクトは、アプリケーションが実装します。
指定した次元における、アニメーション変数のアニメーションカーブを取得します。
| animation | IDCompositionAnimation** | in | アニメーションカーブのプリミティブ列を生成するオブジェクト。 |
| cDimension | DWORD | in | アニメーションカーブの数。 |
戻り値
このメソッドが成功した場合は S_OK を返します。失敗した場合は HRESULT エラーコードを返します。エラーコードの一覧については、Windows Animation Error Codes を参照してください。
解説(Remarks)
animation パラメーターが参照する IDCompositionAnimation オブジェクトは、アプリケーションが実装します。
アニメーション変数の最終値を取得します。これは、現在スケジュールされているすべてのアニメーションが完了した後の値です。(IUIAnimationVariable2.GetFinalValue)
| finalValue | DOUBLE* | out | アニメーション変数の最終値。 |
戻り値
このメソッドが成功した場合は S_OK を返します。失敗した場合は HRESULT エラーコードを返します。エラーコードの一覧については、Windows Animation Error Codes を参照してください。
指定した次元における、アニメーション変数の最終値を取得します。これは、現在スケジュールされているすべてのアニメーションが完了した後の値です。
| finalValue | DOUBLE* | out | アニメーション変数の最終値。 |
| cDimension | DWORD | in | アニメーション変数の値を取得する次元。 |
戻り値
このメソッドが成功した場合は S_OK を返します。失敗した場合は HRESULT エラーコードを返します。エラーコードの一覧については、Windows Animation Error Codes を参照してください。
アニメーション変数の以前の値を取得します。これは、直近の更新が行われる前のアニメーション変数の値です。(IUIAnimationVariable2.GetPreviousValue)
| previousValue | DOUBLE* | out | アニメーション変数の以前の値。 |
戻り値
このメソッドが成功した場合は S_OK を返します。失敗した場合は HRESULT エラーコードを返します。エラーコードの一覧については、Windows Animation Error Codes を参照してください。
指定した次元における、アニメーション変数の以前の値を取得します。これは、直近の更新が行われる前のアニメーション変数の値です。
| previousValue | DOUBLE* | out | アニメーション変数の以前の値。 |
| cDimension | DWORD | in | アニメーション変数の値を取得する次元。 |
戻り値
このメソッドが成功した場合は S_OK を返します。失敗した場合は HRESULT エラーコードを返します。エラーコードの一覧については、Windows Animation Error Codes を参照してください。
アニメーション変数の整数値を取得します。
| value | INT* | out | 整数としてのアニメーション変数の値。 |
戻り値
このメソッドが成功した場合は S_OK を返します。失敗した場合は HRESULT エラーコードを返します。エラーコードの一覧については、Windows Animation Error Codes を参照してください。
指定した次元における、アニメーション変数の整数値を取得します。
| value | INT* | out | 整数としてのアニメーション変数の値。 |
| cDimension | DWORD | in | アニメーション変数の値を取得する次元。 |
戻り値
このメソッドが成功した場合は S_OK を返します。失敗した場合は HRESULT エラーコードを返します。エラーコードの一覧については、Windows Animation Error Codes を参照してください。
アニメーション変数の最終整数値を取得します。これは、現在スケジュールされているすべてのアニメーションが完了した後の値です。
| finalValue | INT* | out | 整数としてのアニメーション変数の最終値。 |
戻り値
このメソッドが成功した場合は S_OK を返します。失敗した場合は HRESULT エラーコードを返します。エラーコードの一覧については、Windows Animation Error Codes を参照してください。
指定した次元における、アニメーション変数の最終整数値を取得します。これは、現在スケジュールされているすべてのアニメーションが完了した後の値です。
| finalValue | INT* | out | 整数としてのアニメーション変数の最終値。 |
| cDimension | DWORD | in | アニメーション変数の値を取得する次元。 |
戻り値
このメソッドが成功した場合は S_OK を返します。失敗した場合は HRESULT エラーコードを返します。エラーコードの一覧については、Windows Animation Error Codes を参照してください。
指定した次元における、アニメーション変数の以前の整数値を取得します。これは、直近の更新が行われる前のアニメーション変数の値です。
| previousValue | INT* | out | 整数としてのアニメーション変数の以前の値。 |
戻り値
このメソッドが成功した場合は S_OK を返します。失敗した場合は HRESULT エラーコードを返します。エラーコードの一覧については、Windows Animation Error Codes を参照してください。
指定した次元における、アニメーション変数の以前の整数値を取得します。これは、直近の更新が行われる前のアニメーション変数の値です。
| previousValue | INT* | out | 整数としてのアニメーション変数の以前の値。 |
| cDimension | DWORD | in | アニメーション変数の値を取得する次元。 |
戻り値
このメソッドが成功した場合は S_OK を返します。失敗した場合は HRESULT エラーコードを返します。エラーコードの一覧については、Windows Animation Error Codes を参照してください。
アニメーション変数のアクティブなストーリーボードを取得します。
| storyboard | IUIAnimationStoryboard2** | out | アクティブなストーリーボード。アニメーション変数がアニメーションされていない場合は NULL。 |
戻り値
このメソッドが成功した場合は S_OK を返します。失敗した場合は HRESULT エラーコードを返します。エラーコードの一覧については、Windows Animation Error Codes を参照してください。
アニメーション変数の値の下限(フロア)を設定します。アニメーション変数の値は、指定した値を下回らないようにします。
| bound | DOUBLE | in | アニメーション変数の値の下限。 |
戻り値
成功した場合は S_OK を返します。失敗した場合は HRESULT エラーコードを返します。エラーコードの一覧については、Windows Animation Error Codes を参照してください。
アニメーション変数について、指定した各次元の下限(フロア)値を設定します。各アニメーション変数の値は、その下限を下回らないようにします。
| bound | DOUBLE* | in | 各次元の下限値を格納したベクター(サイズは cDimension)。 |
| cDimension | DWORD | in | 下限値を必要とする次元数。このパラメーターは bound に列挙される値の個数を指定します。 |
戻り値
成功した場合は S_OK を返します。失敗した場合は HRESULT エラーコードを返します。エラーコードの一覧については、Windows Animation Error Codes を参照してください。
アニメーション変数の値の上限(シーリング)を設定します。アニメーション変数の値は、指定した値を上回らないようにします。
| bound | DOUBLE | in | アニメーション変数の値の上限。 |
戻り値
成功した場合は S_OK を返します。失敗した場合は HRESULT エラーコードを返します。エラーコードの一覧については、Windows Animation Error Codes を参照してください。
アニメーション変数について、指定した各次元の上限(シーリング)値を設定します。各アニメーション変数の値は、その上限を上回らないようにします。
| bound | DOUBLE* | in | 各次元の上限値を格納したベクター(サイズは cDimension)。 |
| cDimension | DWORD | in | 上限値を必要とする次元数。このパラメーターは bound に列挙される値の個数を指定します。 |
戻り値
成功した場合は S_OK を返します。失敗した場合は HRESULT エラーコードを返します。エラーコードの一覧については、Windows Animation Error Codes を参照してください。
アニメーション変数の丸めモードを設定します。
| mode | UI_ANIMATION_ROUNDING_MODE | in | 丸めモード。 |
戻り値
成功した場合は S_OK を返します。失敗した場合は HRESULT エラーコードを返します。エラーコードの一覧については、Windows Animation Error Codes を参照してください。
解説(Remarks)
アニメーション変数の丸めモードは、浮動小数点値を整数に変換する方法を決定します。 各変数の既定のモードは UI_ANIMATION_ROUNDING_NEAREST です。
アニメーション変数のタグを設定します。
| object | IUnknown* | inoptional | タグのオブジェクト部分。このパラメーターには NULL を指定できます。 |
| id | DWORD | in | タグの識別子部分。 |
戻り値
成功した場合は S_OK を返します。失敗した場合は HRESULT エラーコードを返します。エラーコードの一覧については、Windows Animation Error Codes を参照してください。
解説(Remarks)
タグとは、整数の識別子(id)と COM オブジェクト(object)の組み合わせであり、アプリケーションがアニメーション変数を識別するために使用できます。
NULL はタグのオブジェクト部分として有効であるため、object パラメーターには NULL を指定できます。
アニメーション変数のタグを取得します。
| object | IUnknown** | outoptional | タグのオブジェクト部分。 |
| id | DWORD* | outoptional | タグの識別子部分。 |
戻り値
このメソッドが成功した場合は S_OK を返します。失敗した場合は HRESULT エラーコードを返します。エラーコードの一覧については、Windows Animation Error Codes を参照してください。
解説(Remarks)
タグとは、整数の識別子(id)と COM オブジェクト(object)の組み合わせであり、アプリケーションがアニメーション変数を識別するために使用できます。
これらのパラメーターは省略可能であり、タグの両方の部分を返すことも、識別子部分またはオブジェクト部分のみを返すこともできます。
アニメーション変数の値の変更に対するハンドラーを指定します。
| handler | IUIAnimationVariableChangeHandler2* | inoptional | アニメーション変数の値の変更に対するハンドラー。このパラメーターには NULL を指定できます。 |
| fRegisterForNextAnimationEvent | BOOL | in | TRUE の場合、EstimateNextEventTime メソッドが、次のアニメーションイベントまでの時間間隔を見積もる際に handler を考慮に入れることを指定します。既定値はありません。 |
戻り値
成功した場合は S_OK を返します。失敗した場合は HRESULT エラーコードを返します。エラーコードの一覧については、Windows Animation Error Codes を参照してください。
解説(Remarks)
handler パラメーターに NULL を渡すと、Windows Animation は以前に渡されたハンドラーオブジェクトへの参照を解放します。この手法は、IUIAnimationManager2::Shutdown メソッドを呼び出さずに参照の循環を断ち切るうえで不可欠となる場合があります。
アニメーション変数の整数値の変更に対するハンドラーを指定します。
| handler | IUIAnimationVariableIntegerChangeHandler2* | inoptional | アニメーション変数の整数値の変更に対するハンドラーへのポインター。このパラメーターには NULL を指定できます。 |
| fRegisterForNextAnimationEvent | BOOL | in | TRUE の場合、EstimateNextEventTime メソッドが、次のアニメーションイベントまでの時間間隔を見積もる際に handler を考慮に入れることを指定します。既定値はありません。 |
戻り値
成功した場合は S_OK を返します。失敗した場合は HRESULT エラーコードを返します。エラーコードの一覧については、Windows Animation Error Codes を参照してください。
解説(Remarks)
handler パラメーターに NULL を渡すと、Windows Animation は以前に渡されたハンドラーオブジェクトへの参照を解放します。この手法は、Shutdown メソッドを呼び出さずに参照の循環を断ち切るうえで不可欠となる場合があります。
IUIAnimationVariableIntegerChangeHandler2::OnIntegerValueChanged は、丸め後の値が前回の更新から変化した場合にのみ呼び出されます。
アニメーション変数のアニメーションカーブの変更に対するハンドラーを指定します。
| handler | IUIAnimationVariableCurveChangeHandler2* | inoptional | アニメーション変数のアニメーションカーブの変更に対するハンドラーへのポインター。このパラメーターには NULL を指定できます。 |
戻り値
成功した場合は S_OK を返します。失敗した場合は HRESULT エラーコードを返します。エラーコードの一覧については、Windows Animation Error Codes を参照してください。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IUIAnimationVariable2 "{4914B304-96AB-44D9-9E77-D5109B7E7466}" #usecom global IUIAnimationVariable2 IID_IUIAnimationVariable2 "{}" #comfunc global IUIAnimationVariable2_GetDimension 3 var #comfunc global IUIAnimationVariable2_GetValue 4 var #comfunc global IUIAnimationVariable2_GetVectorValue 5 var,int #comfunc global IUIAnimationVariable2_GetCurve 6 sptr #comfunc global IUIAnimationVariable2_GetVectorCurve 7 sptr,int #comfunc global IUIAnimationVariable2_GetFinalValue 8 var #comfunc global IUIAnimationVariable2_GetFinalVectorValue 9 var,int #comfunc global IUIAnimationVariable2_GetPreviousValue 10 var #comfunc global IUIAnimationVariable2_GetPreviousVectorValue 11 var,int #comfunc global IUIAnimationVariable2_GetIntegerValue 12 var #comfunc global IUIAnimationVariable2_GetIntegerVectorValue 13 var,int #comfunc global IUIAnimationVariable2_GetFinalIntegerValue 14 var #comfunc global IUIAnimationVariable2_GetFinalIntegerVectorValue 15 var,int #comfunc global IUIAnimationVariable2_GetPreviousIntegerValue 16 var #comfunc global IUIAnimationVariable2_GetPreviousIntegerVectorValue 17 var,int #comfunc global IUIAnimationVariable2_GetCurrentStoryboard 18 sptr #comfunc global IUIAnimationVariable2_SetLowerBound 19 double #comfunc global IUIAnimationVariable2_SetLowerBoundVector 20 var,int #comfunc global IUIAnimationVariable2_SetUpperBound 21 double #comfunc global IUIAnimationVariable2_SetUpperBoundVector 22 var,int #comfunc global IUIAnimationVariable2_SetRoundingMode 23 int #comfunc global IUIAnimationVariable2_SetTag 24 sptr,int #comfunc global IUIAnimationVariable2_GetTag 25 sptr,var #comfunc global IUIAnimationVariable2_SetVariableChangeHandler 26 sptr,int #comfunc global IUIAnimationVariable2_SetVariableIntegerChangeHandler 27 sptr,int #comfunc global IUIAnimationVariable2_SetVariableCurveChangeHandler 28 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_IUIAnimationVariable2 "{4914B304-96AB-44D9-9E77-D5109B7E7466}" #usecom global IUIAnimationVariable2 IID_IUIAnimationVariable2 "{}" #comfunc global IUIAnimationVariable2_GetDimension 3 sptr #comfunc global IUIAnimationVariable2_GetValue 4 sptr #comfunc global IUIAnimationVariable2_GetVectorValue 5 sptr,int #comfunc global IUIAnimationVariable2_GetCurve 6 sptr #comfunc global IUIAnimationVariable2_GetVectorCurve 7 sptr,int #comfunc global IUIAnimationVariable2_GetFinalValue 8 sptr #comfunc global IUIAnimationVariable2_GetFinalVectorValue 9 sptr,int #comfunc global IUIAnimationVariable2_GetPreviousValue 10 sptr #comfunc global IUIAnimationVariable2_GetPreviousVectorValue 11 sptr,int #comfunc global IUIAnimationVariable2_GetIntegerValue 12 sptr #comfunc global IUIAnimationVariable2_GetIntegerVectorValue 13 sptr,int #comfunc global IUIAnimationVariable2_GetFinalIntegerValue 14 sptr #comfunc global IUIAnimationVariable2_GetFinalIntegerVectorValue 15 sptr,int #comfunc global IUIAnimationVariable2_GetPreviousIntegerValue 16 sptr #comfunc global IUIAnimationVariable2_GetPreviousIntegerVectorValue 17 sptr,int #comfunc global IUIAnimationVariable2_GetCurrentStoryboard 18 sptr #comfunc global IUIAnimationVariable2_SetLowerBound 19 double #comfunc global IUIAnimationVariable2_SetLowerBoundVector 20 sptr,int #comfunc global IUIAnimationVariable2_SetUpperBound 21 double #comfunc global IUIAnimationVariable2_SetUpperBoundVector 22 sptr,int #comfunc global IUIAnimationVariable2_SetRoundingMode 23 int #comfunc global IUIAnimationVariable2_SetTag 24 sptr,int #comfunc global IUIAnimationVariable2_GetTag 25 sptr,sptr #comfunc global IUIAnimationVariable2_SetVariableChangeHandler 26 sptr,int #comfunc global IUIAnimationVariable2_SetVariableIntegerChangeHandler 27 sptr,int #comfunc global IUIAnimationVariable2_SetVariableCurveChangeHandler 28 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。