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

IUIAnimationInterpolator2

COM
IIDea76aff8-ea22-4a23-a0ef-a6a966703518継承元IUnknown自前メソッド開始 vtbl3

メソッド 9

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

vtbl 3 HRESULT GetDimension(DWORD* dimension)
dimensionDWORD*out補間器の次元数を受け取るポインタである。
vtbl 4 HRESULT SetInitialValueAndVelocity(DOUBLE* initialValue, DOUBLE* initialVelocity, DWORD cDimension)
initialValueDOUBLE*in各次元の初期値を格納した DOUBLE 配列へのポインタである。
initialVelocityDOUBLE*in各次元の初速度を格納した DOUBLE 配列へのポインタである。
cDimensionDWORDin配列の要素数(次元数)を指定する。
vtbl 5 HRESULT SetDuration(DOUBLE duration)
durationDOUBLEin補間の所要時間(秒)を指定する。
vtbl 6 HRESULT GetDuration(DOUBLE* duration)
durationDOUBLE*out補間の所要時間(秒)を受け取るポインタである。
vtbl 7 HRESULT GetFinalValue(DOUBLE* value, DWORD cDimension)
valueDOUBLE*out各次元の最終値を受け取る DOUBLE 配列へのポインタである。
cDimensionDWORDinvalue 配列の要素数(次元数)を指定する。
vtbl 8 HRESULT InterpolateValue(DOUBLE offset, DOUBLE* value, DWORD cDimension)
offsetDOUBLEin補間開始からの時間オフセット(秒)を指定する。
valueDOUBLE*out指定オフセットにおける各次元の補間値を受け取る DOUBLE 配列へのポインタである。
cDimensionDWORDinvalue 配列の要素数(次元数)を指定する。
vtbl 9 HRESULT InterpolateVelocity(DOUBLE offset, DOUBLE* velocity, DWORD cDimension)
offsetDOUBLEin補間開始からの時間オフセット(秒)を指定する。
velocityDOUBLE*out指定オフセットにおける各次元の速度を受け取る DOUBLE 配列へのポインタである。
cDimensionDWORDinvelocity 配列の要素数(次元数)を指定する。
vtbl 10 HRESULT GetPrimitiveInterpolation(IUIAnimationPrimitiveInterpolation* interpolation, DWORD cDimension)
interpolationIUIAnimationPrimitiveInterpolation*in補間内容を出力するプリミティブ補間オブジェクトを指定する。
cDimensionDWORDin次元数を指定する。
vtbl 11 HRESULT GetDependencies(UI_ANIMATION_DEPENDENCIES* initialValueDependencies, UI_ANIMATION_DEPENDENCIES* initialVelocityDependencies, UI_ANIMATION_DEPENDENCIES* durationDependencies)
initialValueDependenciesUI_ANIMATION_DEPENDENCIES*out初期値が依存する要素を示すフラグを受け取るポインタである。
initialVelocityDependenciesUI_ANIMATION_DEPENDENCIES*out初速度が依存する要素を示すフラグを受け取るポインタである。
durationDependenciesUI_ANIMATION_DEPENDENCIES*out所要時間が依存する要素を示すフラグを受け取るポインタである。

HSP用 COM定義

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

出力引数:
#define global IID_IUIAnimationInterpolator2 "{EA76AFF8-EA22-4A23-A0EF-A6A966703518}"
#usecom global IUIAnimationInterpolator2 IID_IUIAnimationInterpolator2 "{}"
#comfunc global IUIAnimationInterpolator2_GetDimension                3 var
#comfunc global IUIAnimationInterpolator2_SetInitialValueAndVelocity  4 var,var,int
#comfunc global IUIAnimationInterpolator2_SetDuration                 5 double
#comfunc global IUIAnimationInterpolator2_GetDuration                 6 var
#comfunc global IUIAnimationInterpolator2_GetFinalValue               7 var,int
#comfunc global IUIAnimationInterpolator2_InterpolateValue            8 double,var,int
#comfunc global IUIAnimationInterpolator2_InterpolateVelocity         9 double,var,int
#comfunc global IUIAnimationInterpolator2_GetPrimitiveInterpolation   10 sptr,int
#comfunc global IUIAnimationInterpolator2_GetDependencies             11 var,var,var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。