分享方式:


CInterpolatorBase 類別

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

語法

class CInterpolatorBase : public CUIAnimationInterpolatorBase<CInterpolatorBase>;

成員

公用建構函式

名稱 描述
CInterpolatorBase::CInterpolatorBase CInterpolatorBase建構 物件。

公用方法

名稱 描述
CInterpolatorBase::CreateInstance 建立 的 CInterpolatorBase 實例,並將指標儲存至自訂插補器,以處理事件。
CInterpolatorBase::GetDependencies 取得插補器的相依性。 (覆寫 CUIAnimationInterpolatorBase::GetDependencies。)
CInterpolatorBase::GetDuration 取得插補器的持續時間。 (覆寫 CUIAnimationInterpolatorBase::GetDuration。)
CInterpolatorBase::GetFinalValue 取得插補器所導向的最終值。 (覆寫 CUIAnimationInterpolatorBase::GetFinalValue。)
CInterpolatorBase::InterpolateValue 在指定的位移插入值 (覆寫 CUIAnimationInterpolatorBase::InterpolateValue 。)
CInterpolatorBase::InterpolateVelocity 以指定的位移插速度(覆寫 CUIAnimationInterpolatorBase::InterpolateVelocity 。)
CInterpolatorBase::SetCustomInterpolator 儲存自訂插補器的指標,以處理事件。
CInterpolatorBase::SetDuration 設定插補器的持續時間 (覆寫 CUIAnimationInterpolatorBase::SetDuration 。)
CInterpolatorBase::SetInitialValueAndVelocity 設定插補器的初始值和速度。 (覆寫 CUIAnimationInterpolatorBase::SetInitialValueAndVelocity。)

備註

當物件建立為動畫初始化程式的一 CCustomTransition 部分時,會建立並傳遞 IUIAnimationTransitionFactory::CreateTransition 此處理程式(由 CAnimationController::AnimateGroup 啟動)。 通常您不需要直接使用此類別,它只會將所有事件傳回 CCustomInterpolator 衍生類別,其指標會傳遞至 的 CCustomTransition 建構函式。

繼承階層架構

CUIAnimationCallbackBase

CUIAnimationInterpolatorBase

CInterpolatorBase

需求

標頭: afxanimationcontroller.h

CInterpolatorBase::CInterpolatorBase

建構 CInterpolatorBase 物件。

CInterpolatorBase();

CInterpolatorBase::CreateInstance

建立 CInterpolatorBase 的實例,並儲存自訂插補器的指標,以處理事件。

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

參數

pInterpolator
自訂插補器的指標。

ppHandler
輸出。 在函式傳回時,包含 CInterpolatorBase 實例的指標。

傳回值

CInterpolatorBase::GetDependencies

取得插補器的相依性。

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

參數

initialValueDependencies
輸出。 插補器的各個層面,其相依于傳遞至 SetInitialValueAndVelocity 的初始值。

initialVelocityDependencies
輸出。 插補器的各個層面,取決於傳遞至 SetInitialValueAndVelocity 的初始速度。

durationDependencies
輸出。 插補器的各個層面,其相依于傳遞至 SetDuration 的持續時間。

傳回值

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

CInterpolatorBase::GetDuration

取得插補器的持續時間。

IFACEMETHOD(GetDuration)(__out UI_ANIMATION_SECONDS* duration);

參數

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

傳回值

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

CInterpolatorBase::GetFinalValue

取得插補器所導向的最終值。

IFACEMETHOD(GetFinalValue)(__out DOUBLE* value);

參數

value
輸出。 轉換結束時變數的最終值。

傳回值

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

CInterpolatorBase::InterpolateValue

在指定的位移插入值

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

參數

offset
轉換開頭的位移。 位移一律大於或等於零,且小於轉換的持續時間。 如果轉換的持續時間為零,則不會呼叫這個方法。

value
輸出。 插補值。

傳回值

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

CInterpolatorBase::InterpolateVelocity

在指定位移處插補速度

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

參數

offset
轉換開頭的位移。 位移一律大於或等於零,且小於或等於轉換的持續時間。 如果轉換的持續時間為零,則不會呼叫這個方法。

速度
輸出。 位移處變數的速度。

傳回值

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

CInterpolatorBase::SetCustomInterpolator

儲存自訂插補器的指標,以處理事件。

void SetCustomInterpolator(CCustomInterpolator* pInterpolator);

參數

pInterpolator
自訂插補器的指標。

CInterpolatorBase::SetDuration

設定插補器的持續時間

IFACEMETHOD(SetDuration)(__in UI_ANIMATION_SECONDS duration);

參數

duration
轉換的持續時間。

傳回值

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

CInterpolatorBase::SetInitialValueAndVelocity

設定插補器的初始值和速度。

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

參數

initialValue
轉換開始時變數的值。

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

傳回值

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

另請參閱

類別