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

IUIAnimationStoryboard

COM
IIDa8ff128f-9bf9-4af1-9e67-e5e410defb84継承元IUnknown自前メソッド開始 vtbl3

メソッド 17

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

vtbl 3 HRESULT AddTransition(IUIAnimationVariable* variable, IUIAnimationTransition* transition)
variableIUIAnimationVariable*inトランジションを適用する対象のアニメーション変数を指定する。
transitionIUIAnimationTransition*inストーリーボードに追加するトランジションを指定する。
vtbl 4 HRESULT AddKeyframeAtOffset(UI_ANIMATION_KEYFRAME existingKeyframe, DOUBLE offset, UI_ANIMATION_KEYFRAME* keyframe)
existingKeyframeUI_ANIMATION_KEYFRAMEinオフセットの起点とする既存のキーフレームを指定する。
offsetDOUBLEin起点キーフレームからの相対時間を秒単位で指定する。
keyframeUI_ANIMATION_KEYFRAME*out新たに作成されたキーフレームを受け取るポインタである。
vtbl 5 HRESULT AddKeyframeAfterTransition(IUIAnimationTransition* transition, UI_ANIMATION_KEYFRAME* keyframe)
transitionIUIAnimationTransition*inキーフレームの基準とするトランジションを指定する。
keyframeUI_ANIMATION_KEYFRAME*out指定したトランジションの終了時点に作成されたキーフレームを受け取るポインタである。
vtbl 6 HRESULT AddTransitionAtKeyframe(IUIAnimationVariable* variable, IUIAnimationTransition* transition, UI_ANIMATION_KEYFRAME startKeyframe)
variableIUIAnimationVariable*inトランジションを適用する対象のアニメーション変数を指定する。
transitionIUIAnimationTransition*in追加するトランジションを指定する。
startKeyframeUI_ANIMATION_KEYFRAMEinトランジションを開始させるキーフレームを指定する。
vtbl 7 HRESULT AddTransitionBetweenKeyframes(IUIAnimationVariable* variable, IUIAnimationTransition* transition, UI_ANIMATION_KEYFRAME startKeyframe, UI_ANIMATION_KEYFRAME endKeyframe)
variableIUIAnimationVariable*inトランジションを適用する対象のアニメーション変数を指定する。
transitionIUIAnimationTransition*in追加するトランジションを指定する。
startKeyframeUI_ANIMATION_KEYFRAMEinトランジションを開始させるキーフレームを指定する。
endKeyframeUI_ANIMATION_KEYFRAMEinトランジションを終了させるキーフレームを指定する。
vtbl 8 HRESULT RepeatBetweenKeyframes(UI_ANIMATION_KEYFRAME startKeyframe, UI_ANIMATION_KEYFRAME endKeyframe, INT repetitionCount)
startKeyframeUI_ANIMATION_KEYFRAMEin繰り返し区間の開始キーフレームを指定する。
endKeyframeUI_ANIMATION_KEYFRAMEin繰り返し区間の終了キーフレームを指定する。
repetitionCountINTin区間を繰り返す回数を指定する。
vtbl 9 HRESULT HoldVariable(IUIAnimationVariable* variable)
variableIUIAnimationVariable*inストーリーボード終了後も値を保持させるアニメーション変数を指定する。
vtbl 10 HRESULT SetLongestAcceptableDelay(DOUBLE delay)
delayDOUBLEinこのストーリーボードで許容できる最長の遅延時間を秒単位で指定する。
vtbl 11 HRESULT Schedule(DOUBLE timeNow, UI_ANIMATION_SCHEDULING_RESULT* schedulingResult)
timeNowDOUBLEin現在時刻を秒単位で指定する。
schedulingResultUI_ANIMATION_SCHEDULING_RESULT*outoptionalスケジューリングの結果を受け取るポインタである。
vtbl 12 HRESULT Conclude()
vtbl 13 HRESULT Finish(DOUBLE completionDeadline)
completionDeadlineDOUBLEinストーリーボードを完了させるまでの猶予時間を秒単位で指定する。
vtbl 14 HRESULT Abandon()
vtbl 15 HRESULT SetTag(IUnknown* object, DWORD id)
objectIUnknown*inoptionalこのストーリーボードに関連付けるタグのオブジェクト部分を指定する。NULL も指定できる。
idDWORDinこのストーリーボードに関連付けるタグの数値 ID を指定する。
vtbl 16 HRESULT GetTag(IUnknown** object, DWORD* id)
objectIUnknown**outoptionalこのストーリーボードに関連付けられたタグのオブジェクト部分を受け取るポインタである。
idDWORD*outoptionalこのストーリーボードに関連付けられたタグの数値 ID を受け取るポインタである。
vtbl 17 HRESULT GetStatus(UI_ANIMATION_STORYBOARD_STATUS* status)
statusUI_ANIMATION_STORYBOARD_STATUS*outストーリーボードの現在の状態を受け取るポインタである。
vtbl 18 HRESULT GetElapsedTime(DOUBLE* elapsedTime)
elapsedTimeDOUBLE*outストーリーボード開始からの経過時間を秒単位で受け取るポインタである。
vtbl 19 HRESULT SetStoryboardEventHandler(IUIAnimationStoryboardEventHandler* handler)
handlerIUIAnimationStoryboardEventHandler*inoptionalストーリーボードの状態変化や更新を受け取るハンドラーを指定する。NULL でハンドラーを解除する。

HSP用 COM定義

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

出力引数:
#define global IID_IUIAnimationStoryboard "{A8FF128F-9BF9-4AF1-9E67-E5E410DEFB84}"
#usecom global IUIAnimationStoryboard IID_IUIAnimationStoryboard "{}"
#comfunc global IUIAnimationStoryboard_AddTransition                  3 sptr,sptr
#comfunc global IUIAnimationStoryboard_AddKeyframeAtOffset            4 sptr,double,var
#comfunc global IUIAnimationStoryboard_AddKeyframeAfterTransition     5 sptr,var
#comfunc global IUIAnimationStoryboard_AddTransitionAtKeyframe        6 sptr,sptr,sptr
#comfunc global IUIAnimationStoryboard_AddTransitionBetweenKeyframes  7 sptr,sptr,sptr,sptr
#comfunc global IUIAnimationStoryboard_RepeatBetweenKeyframes         8 sptr,sptr,int
#comfunc global IUIAnimationStoryboard_HoldVariable                   9 sptr
#comfunc global IUIAnimationStoryboard_SetLongestAcceptableDelay      10 double
#comfunc global IUIAnimationStoryboard_Schedule                       11 double,var
#comfunc global IUIAnimationStoryboard_Conclude                       12
#comfunc global IUIAnimationStoryboard_Finish                         13 double
#comfunc global IUIAnimationStoryboard_Abandon                        14
#comfunc global IUIAnimationStoryboard_SetTag                         15 sptr,int
#comfunc global IUIAnimationStoryboard_GetTag                         16 sptr,var
#comfunc global IUIAnimationStoryboard_GetStatus                      17 var
#comfunc global IUIAnimationStoryboard_GetElapsedTime                 18 var
#comfunc global IUIAnimationStoryboard_SetStoryboardEventHandler      19 sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。