CInterpolatorBase 類別

 

如需 Visual Studio 2017 的最新文件請參閱 Visual Studio 2017 文件

實作回呼,當動畫 API 必須計算動畫變數的新值時由此 API 呼叫。

class CInterpolatorBase : public CUIAnimationInterpolatorBase<CInterpolatorBase>;  

公用建構函式

名稱說明
CInterpolatorBase::CInterpolatorBase建構CInterpolatorBase物件。

公用方法

名稱說明
CInterpolatorBase::CreateInstance建立的執行個體CInterpolatorBase和儲存自訂 interpolator,將會處理事件的指標。
CInterpolatorBase::GetDependencies取得 interpolator 的相依性。 (覆寫 CUIAnimationInterpolatorBase::GetDependencies。)
CInterpolatorBase::GetDuration取得 interpolator 的持續時間。 (覆寫 CUIAnimationInterpolatorBase::GetDuration。)
CInterpolatorBase::GetFinalValue取得 interpolator 會導致的最後一個值。 (覆寫 CUIAnimationInterpolatorBase::GetFinalValue。)
CInterpolatorBase::InterpolateValue指定位移處的值進行插補 (覆寫CUIAnimationInterpolatorBase::InterpolateValue。)
CInterpolatorBase::InterpolateVelocity指定位移處的速度進行插補 (覆寫CUIAnimationInterpolatorBase::InterpolateVelocity。)
CInterpolatorBase::SetCustomInterpolator儲存自訂 interpolator,將會處理事件的指標。
CInterpolatorBase::SetDuration設定 interpolator 的持續期間 (覆寫CUIAnimationInterpolatorBase::SetDuration。)
CInterpolatorBase::SetInitialValueAndVelocityInterpolator 的起始值和速度設定。 (覆寫 CUIAnimationInterpolatorBase::SetInitialValueAndVelocity。)

此處理常式會建立並傳遞至IUIAnimationTransitionFactory::CreateTransitionCCustomTransition動畫初始化處理程序的一部份建立物件 (由啟動CAnimationController::AnimateGroup)。 通常您不需要直接使用這個類別,它只是 routs 所有事件CCustomInterpolator-衍生的類別,其指標傳遞給建構函式的CCustomTransition

CUIAnimationCallbackBase

CUIAnimationInterpolatorBase

CInterpolatorBase

標頭: afxanimationcontroller.h

建構 CInterpolatorBase 物件。

CInterpolatorBase();

建立 CInterpolatorBase 的執行個體,並將自訂 interpolator,將會處理事件的指標。

static COM_DECLSPEC_NOTHROW HRESULT CreateInstance(
    CCustomInterpolator* pInterpolator,  
    IUIAnimationInterpolator** ppHandler);

參數

pInterpolator
自訂 interpolator 指標。

ppHandler
輸出。 函式傳回時,請包含 CInterpolatorBase 的執行個體的指標。

傳回值

取得 interpolator 的相依性。

IFACEMETHOD(GetDependencies)(
    __out UI_ANIMATION_DEPENDENCIES* initialValueDependencies,
    __out UI_ANIMATION_DEPENDENCIES* initialVelocityDependencies,
    __out UI_ANIMATION_DEPENDENCIES* durationDependencies);

參數

initialValueDependencies
輸出。 Interpolator 的層面的起始值而定,傳遞至 SetInitialValueAndVelocity。

initialVelocityDependencies
輸出。 Interpolator 的初始速度而定的層面傳遞至 SetInitialValueAndVelocity。

durationDependencies
輸出。 Interpolator 的持續時間而定的層面傳遞至 SetDuration。

傳回值

如果方法成功,它會傳回 S_OK。 如果未設定 CCustomInterpolator,或自訂實作會傳回 FALSE GetDependencies 方法會傳回 E_FAIL。

取得 interpolator 的持續時間。

IFACEMETHOD(GetDuration)(__out UI_ANIMATION_SECONDS* duration);

參數

duration
輸出。 轉換,以秒為單位的持續時間。

傳回值

如果方法成功,它會傳回 S_OK。 如果未設定 CCustomInterpolator,或自訂實作會傳回 FALSE GetDuration 方法會傳回 E_FAIL。

取得 interpolator 會導致的最後一個值。

IFACEMETHOD(GetFinalValue)(__out DOUBLE* value);

參數

value
輸出。 最後的變數在轉換結束值。

傳回值

如果方法成功,它會傳回 S_OK。 如果未設定 CCustomInterpolator,或自訂實作會傳回 FALSE GetFinalValue 方法會傳回 E_FAIL。

指定位移處的值進行插補

IFACEMETHOD(InterpolateValue)(
  __in UI_ANIMATION_SECONDS offset, 
  __out DOUBLE* value);

參數

offset
從轉換的開始位移。 位移永遠是大於或等於&0; 且小於轉換的持續時間。 如果轉換的持續時間為零,不會呼叫這個方法。

value
輸出。 插補的值。

傳回值

如果方法成功,它會傳回 S_OK。 如果未設定 CCustomInterpolator,或自訂實作會傳回 FALSE InterpolateValue 方法會傳回 E_FAIL。

指定位移處的速度進行插補

IFACEMETHOD(InterpolateVelocity)(
  __in UI_ANIMATION_SECONDS offset,
  __out DOUBLE* velocity);

參數

offset
從轉換的開始位移。 位移永遠是大於或等於&0; 且小於或等於轉換的持續時間。 如果轉換的持續時間為零,不會呼叫這個方法。

velocity
輸出。 在位移變數的速度。

傳回值

如果方法成功,它會傳回 S_OK。 如果未設定 CCustomInterpolator,或自訂實作會傳回 FALSE InterpolateVelocity 方法會傳回 E_FAIL。

儲存自訂 interpolator,將會處理事件的指標。

void SetCustomInterpolator(CCustomInterpolator* pInterpolator);

參數

pInterpolator
自訂 interpolator 指標。

設定 interpolator 的持續時間

IFACEMETHOD(SetDuration)(__in UI_ANIMATION_SECONDS duration);

參數

duration
轉換的持續時間。

傳回值

如果方法成功,它會傳回 S_OK。 如果未設定 CCustomInterpolator,或自訂實作會傳回 FALSE SetDuration 方法會傳回 E_FAIL。

Interpolator 的起始值和速度設定。

IFACEMETHOD(SetInitialValueAndVelocity)(
  __in DOUBLE initialValue, 
  __in DOUBLE initialVelocity);

參數

initialValue
在開始轉換的變數的值。

initialVelocity
在開始轉換的變數的速度。

傳回值

如果方法成功,它會傳回 S_OK。 如果未設定 CCustomInterpolator,或自訂實作會傳回 FALSE SetInitialValueAndVelocity 方法會傳回 E_FAIL。

類別

顯示: