Win32 API 日本語リファレンス
ホームUI.Animation › IUIAnimationVariable

IUIAnimationVariable

COM
IID8ceeb155-2849-4ce5-9448-91ff70e1e4d9継承元IUnknown自前メソッド開始 vtbl3

公式ドキュメント

アニメーション変数を定義します。アニメーション変数は、アニメーション化できる視覚要素を表します。

解説(Remarks)

IUIAnimationVariable は、 IUIAnimationTransition および IUIAnimationStoryboard とともに、アニメーションを構築するための主要なコンポーネントです。アニメーション変数を作成および管理するには、IUIAnimationManager を使用します。

メソッド 14

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

vtbl 3 HRESULT GetValue(DOUBLE* value)

アニメーション変数の現在の値を取得します。

valueDOUBLE*outアニメーション変数の現在の値。

戻り値

メソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。エラーコードの一覧については、Windows Animation Error Codes を参照してください。

解説(Remarks)

結果は、それぞれ IUIAnimationVariable::SetLowerBound および IUIAnimationVariable::SetUpperBound によって決定される下限および上限の影響を受けることがあります。

例については、Read the Animation Variable Values を参照してください。

vtbl 4 HRESULT GetFinalValue(DOUBLE* finalValue)

アニメーション変数の最終値を取得します。これは、現在スケジュールされているすべてのアニメーションが完了した後の値です。(IUIAnimationVariable.GetFinalValue)

finalValueDOUBLE*outアニメーション変数の最終値。

戻り値

メソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。エラーコードの一覧については、Windows Animation Error Codes を参照してください。

戻り値 説明
UI_E_VALUE_NOT_DETERMINED
現時点ではアニメーション変数の最終値を確定できません。

解説(Remarks)

結果は、それぞれ IUIAnimationVariable::SetLowerBound および IUIAnimationVariable::SetUpperBound によって決定される下限および上限の影響を受けることがあります。

vtbl 5 HRESULT GetPreviousValue(DOUBLE* previousValue)

アニメーション変数の以前の値を取得します。これは、直近の更新前におけるアニメーション変数の値です。(IUIAnimationVariable.GetPreviousValue)

previousValueDOUBLE*outアニメーション変数の以前の値。

戻り値

メソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。エラーコードの一覧については、Windows Animation Error Codes を参照してください。

解説(Remarks)

結果は、それぞれ IUIAnimationVariable::SetLowerBound および IUIAnimationVariable::SetUpperBound によって決定される下限および上限の影響を受けることがあります。

vtbl 6 HRESULT GetIntegerValue(INT* value)

アニメーション変数の現在の値を整数として取得します。

valueINT*outアニメーション変数の現在の値を INT32 値に変換したもの。

戻り値

メソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。エラーコードの一覧については、Windows Animation Error Codes を参照してください。

解説(Remarks)

値の変換時に使用する丸めモードを指定するには、IUIAnimationVariable::SetRoundingMode メソッドを使用します。

また、結果は、それぞれ IUIAnimationVariable::SetLowerBound および IUIAnimationVariable::SetUpperBound によって決定される下限および上限の影響を受けることがあります。

例については、Read the Animation Variable Values を参照してください。

vtbl 7 HRESULT GetFinalIntegerValue(INT* finalValue)

アニメーション変数の最終値を整数として取得します。これは、現在スケジュールされているすべてのアニメーションが完了した後の値です。

finalValueINT*outアニメーション変数の最終値を INT32 値に変換したもの。

戻り値

メソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。エラーコードの一覧については、Windows Animation Error Codes を参照してください。

戻り値 説明
UI_E_VALUE_NOT_DETERMINED
現時点ではアニメーション変数の最終値を確定できません。

解説(Remarks)

値の変換時に使用する丸めモードを指定するには、IUIAnimationVariable::SetRoundingMode メソッドを使用します。

また、結果は、それぞれ IUIAnimationVariable::SetLowerBound および IUIAnimationVariable::SetUpperBound によって決定される下限および上限の影響を受けることがあります。

vtbl 8 HRESULT GetPreviousIntegerValue(INT* previousValue)

アニメーション変数の以前の値を整数として取得します。これは、直近の更新前におけるアニメーション変数の値です。

previousValueINT*outアニメーション変数の以前の値を INT32 値に変換したもの。

戻り値

メソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。エラーコードの一覧については、Windows Animation Error Codes を参照してください。

解説(Remarks)

値の変換時に使用する丸めモードを指定するには、IUIAnimationVariable::SetRoundingMode メソッドを使用します。

また、結果は、それぞれ IUIAnimationVariable::SetLowerBound および IUIAnimationVariable::SetUpperBound によって決定される下限および上限の影響を受けることがあります。

vtbl 9 HRESULT GetCurrentStoryboard(IUIAnimationStoryboard** storyboard)

現在アニメーション変数をアニメーション化しているストーリーボードを取得します。

storyboardIUIAnimationStoryboard**out現在のストーリーボード。現在アニメーション変数をアニメーション化しているストーリーボードがない場合は NULL

戻り値

メソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。エラーコードの一覧については、UIAnimation Error Codes を参照してください。

vtbl 10 HRESULT SetLowerBound(DOUBLE bound)

アニメーション変数の下限(フロア)を設定します。アニメーション変数の値は、指定した値を下回らないようになります。

boundDOUBLEinアニメーション変数の下限。

戻り値

メソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。エラーコードの一覧については、Windows Animation Error Codes を参照してください。

vtbl 11 HRESULT SetUpperBound(DOUBLE bound)

アニメーション変数の上限(シーリング)を設定します。アニメーション変数の値は、指定した値を上回らないようになります。

boundDOUBLEinアニメーション変数の上限。

戻り値

メソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。エラーコードの一覧については、Windows Animation Error Codes を参照してください。

vtbl 12 HRESULT SetRoundingMode(UI_ANIMATION_ROUNDING_MODE mode)

アニメーション変数の丸めモードを指定します。

modeUI_ANIMATION_ROUNDING_MODEinアニメーション変数の丸めモード。

戻り値

メソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。エラーコードの一覧については、Windows Animation Error Codes を参照してください。

解説(Remarks)

アニメーション変数の丸めモードは、浮動小数点値を整数に変換する方法を決定します。 各変数の既定のモードは UI_ANIMATION_ROUNDING_NEAREST です。

例については、Create Animation Variables を参照してください。

vtbl 13 HRESULT SetTag(IUnknown* object, DWORD id)

アニメーション変数のタグを設定します。

objectIUnknown*inoptionalタグのオブジェクト部分。 このパラメーターには NULL を指定できます。
idDWORDinタグの識別子部分。

戻り値

メソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。エラーコードの一覧については、Windows Animation Error Codes を参照してください。

解説(Remarks)

タグは、整数の識別子 (id) と COM オブジェクト (object) の組み合わせであり、アプリケーションがアニメーション変数を識別するために使用できます。
タグのオブジェクト部分としては NULL も有効であるため、object パラメーターには NULL を指定できます。

vtbl 14 HRESULT GetTag(IUnknown** object, DWORD* id)

アニメーション変数のタグを取得します。

objectIUnknown**outoptionalタグのオブジェクト部分。
idDWORD*outoptionalタグの識別子部分。

戻り値

メソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。エラーコードの一覧については、Windows Animation Error Codes を参照してください。

戻り値 説明
UI_E_VALUE_NOT_SET
アニメーション変数のタグが設定されていません。

解説(Remarks)

タグは、整数の識別子 (id) と COM オブジェクト (object) の組み合わせであり、アプリケーションがアニメーション変数を識別するために使用できます。

これらのパラメーターは省略可能であり、タグの両方の部分を返すことも、識別子部分またはオブジェクト部分のみを返すこともできます。

vtbl 15 HRESULT SetVariableChangeHandler(IUIAnimationVariableChangeHandler* handler)

変数変更ハンドラーを指定します。このハンドラーには、アニメーション変数の値の変更が通知されます。

handlerIUIAnimationVariableChangeHandler*inoptional

変数変更ハンドラー。

指定するオブジェクトは IUIAnimationVariableChangeHandler インターフェイスを実装しているか、NULL である必要があります。

「解説」を参照してください。

戻り値

メソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。エラーコードの一覧については、Windows Animation Error Codes を参照してください。

解説(Remarks)

handler パラメーターに NULL を渡すと、Windows Animation は以前に渡されたハンドラーオブジェクトへの参照を解放します。この手法は、IUIAnimationManager::Shutdown メソッドを呼び出さずに参照の循環を断ち切るうえで不可欠となる場合があります。

vtbl 16 HRESULT SetVariableIntegerChangeHandler(IUIAnimationVariableIntegerChangeHandler* handler)

整数変数変更ハンドラーを指定します。このハンドラーには、アニメーション変数の整数値の変更が通知されます。

handlerIUIAnimationVariableIntegerChangeHandler*inoptional

整数変数変更ハンドラー。

指定するオブジェクトは IUIAnimationVariableIntegerChangeHandler インターフェイスを実装しているか、NULL である必要があります。

「解説」を参照してください。

戻り値

メソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。エラーコードの一覧については、Windows Animation Error Codes を参照してください。

解説(Remarks)

handler パラメーターに NULL を渡すと、Windows Animation は以前に渡されたハンドラーオブジェクトへの参照を解放します。この手法は、IUIAnimationManager::Shutdown メソッドを呼び出さずに参照の循環を断ち切るうえで不可欠となる場合があります。

IUIAnimationVariableIntegerChangeHandler::OnIntegerValueChanged は、丸めた値が前回の更新から変化した場合にのみ呼び出されます。

出典・ライセンス: 上記「公式ドキュメント」の内容は 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_IUIAnimationVariable "{8CEEB155-2849-4CE5-9448-91FF70E1E4D9}"
#usecom global IUIAnimationVariable IID_IUIAnimationVariable "{}"
#comfunc global IUIAnimationVariable_GetValue                         3 var
#comfunc global IUIAnimationVariable_GetFinalValue                    4 var
#comfunc global IUIAnimationVariable_GetPreviousValue                 5 var
#comfunc global IUIAnimationVariable_GetIntegerValue                  6 var
#comfunc global IUIAnimationVariable_GetFinalIntegerValue             7 var
#comfunc global IUIAnimationVariable_GetPreviousIntegerValue          8 var
#comfunc global IUIAnimationVariable_GetCurrentStoryboard             9 sptr
#comfunc global IUIAnimationVariable_SetLowerBound                    10 double
#comfunc global IUIAnimationVariable_SetUpperBound                    11 double
#comfunc global IUIAnimationVariable_SetRoundingMode                  12 int
#comfunc global IUIAnimationVariable_SetTag                           13 sptr,int
#comfunc global IUIAnimationVariable_GetTag                           14 sptr,var
#comfunc global IUIAnimationVariable_SetVariableChangeHandler         15 sptr
#comfunc global IUIAnimationVariable_SetVariableIntegerChangeHandler  16 sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。