Sdílet prostřednictvím


CInterpolatorBase – třída

Implementuje zpětné volání, které volá animační rozhraní API, když musí vypočítat novou hodnotu proměnné animace.

Syntaxe

class CInterpolatorBase : public CUIAnimationInterpolatorBase<CInterpolatorBase>;

Členové

Veřejné konstruktory

Název Popis
CInterpolatorBase::CInterpolatorBase CInterpolatorBase Vytvoří objekt.

Veřejné metody

Název Popis
CInterpolatorBase::CreateInstance Vytvoří instanci CInterpolatorBase a uloží ukazatel na vlastní interpolátor, který bude zpracovávat události.
CInterpolatorBase::GetDependencies Získá závislosti interpolátoru. (Přepsání CUIAnimationInterpolatorBase::GetDependencies.)
CInterpolatorBase::GetDuration Získá dobu trvání interpolátoru. (Přepsání CUIAnimationInterpolatorBase::GetDuration.)
CInterpolatorBase::GetFinalValue Získá konečnou hodnotu, ke které interpolátor vede. (Přepsání CUIAnimationInterpolatorBase::GetFinalValue.)
CInterpolatorBase::InterpolateValue Interpoluje hodnotu na daném posunu (přepsání CUIAnimationInterpolatorBase::InterpolateValue).)
CInterpolatorBase::InterpolateVelocity Interpoluje rychlost na daném posunu (přepsání CUIAnimationInterpolatorBase::InterpolateVelocity).)
CInterpolatorBase::SetCustomInterpolator Uloží ukazatel na vlastní interpolátor, který bude zpracovávat události.
CInterpolatorBase::SetDuration Nastaví dobu trvání interpolátoru (přepsání CUIAnimationInterpolatorBase::SetDuration).)
CInterpolatorBase::SetInitialValueAndVelocity Nastaví počáteční hodnotu a rychlost interpolátoru. (Přepsání CUIAnimationInterpolatorBase::SetInitialValueAndVelocity.)

Poznámky

Tato obslužná rutina je vytvořena a předána IUIAnimationTransitionFactory::CreateTransition při CCustomTransition vytváření objektu jako součást procesu inicializace animace (spuštěno CAnimationController::AnimateGroup). Obvykle tuto třídu nemusíte používat přímo, pouze rout všechny události do CCustomInterpolator-odvozené třídy, jejíž ukazatel je předán konstruktoru CCustomTransition.

Hierarchie dědičnosti

CUIAnimationCallbackBase

CUIAnimationInterpolatorBase

CInterpolatorBase

Požadavky

Hlavička: afxanimationcontroller.h

CInterpolatorBase::CInterpolatorBase

Vytvoří CInterpolatorBase objektu.

CInterpolatorBase();

CInterpolatorBase::CreateInstance

Vytvoří instanci CInterpolatorBase a uloží ukazatel na vlastní interpolátor, který bude zpracovávat události.

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

Parametry

pInterpolator
Ukazatel na vlastní interpolátor.

ppHandler
Výstup. Obsahuje ukazatel na instanci CInterpolatorBase při vrácení funkce.

Návratová hodnota

CInterpolatorBase::GetDependencies

Získá závislosti interpolátoru.

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

Parametry

initialValueDependencies
Výstup. Aspekty interpolátoru, které závisí na počáteční hodnotě předané do SetInitialValueAndVelocity.

initialVelocityDependencies
Výstup. Aspekty interpolátoru, které závisí na počáteční rychlosti předávané do SetInitialValueAndVelocity.

durationDependencies
Výstup. Aspekty interpolátoru, které závisí na době trvání předané metodě SetDuration.

Návratová hodnota

Pokud je metoda úspěšná, vrátí S_OK. Vrátí E_FAIL pokud CCustomInterpolator není nastaven, nebo vlastní implementace vrátí FALSE z GetDependencies metoda.

CInterpolatorBase::GetDuration

Získá dobu trvání interpolátoru.

IFACEMETHOD(GetDuration)(__out UI_ANIMATION_SECONDS* duration);

Parametry

trvání
Výstup. Doba trvání přechodu v sekundách.

Návratová hodnota

Pokud je metoda úspěšná, vrátí S_OK. Vrátí E_FAIL pokud CCustomInterpolator není nastavena, nebo vlastní implementace vrátí FALSE z GetDuration metoda.

CInterpolatorBase::GetFinalValue

Získá konečnou hodnotu, ke které interpolátor vede.

IFACEMETHOD(GetFinalValue)(__out DOUBLE* value);

Parametry

value
Výstup. Konečná hodnota proměnné na konci přechodu.

Návratová hodnota

Pokud je metoda úspěšná, vrátí S_OK. Vrátí E_FAIL pokud CCustomInterpolator není nastavena, nebo vlastní implementace vrátí FALSE z GetFinalValue metoda.

CInterpolatorBase::InterpolateValue

Interpoluje hodnotu na daném posunu.

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

Parametry

offset
Posun od začátku přechodu. Posun je vždy větší nebo roven nule a menší než doba trvání přechodu. Tato metoda není volána, pokud doba trvání přechodu je nula.

value
Výstup. Interpolovaná hodnota.

Návratová hodnota

Pokud je metoda úspěšná, vrátí S_OK. Vrátí E_FAIL pokud CCustomInterpolator není nastaven, nebo vlastní implementace vrátí HODNOTU FALSE z InterpolateValue metoda.

CInterpolatorBase::InterpolateVelocity

Interpoluje rychlost při daném posunu.

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

Parametry

offset
Posun od začátku přechodu. Posun je vždy větší nebo roven nule a menší nebo roven době trvání přechodu. Tato metoda není volána, pokud doba trvání přechodu je nula.

rychlost
Výstup. Rychlost proměnné na posunu.

Návratová hodnota

Pokud je metoda úspěšná, vrátí S_OK. Vrátí E_FAIL pokud CCustomInterpolator není nastaven, nebo vlastní implementace vrátí HODNOTU FALSE z InterpolateVelocity metoda.

CInterpolatorBase::SetCustomInterpolator

Uloží ukazatel na vlastní interpolátor, který bude zpracovávat události.

void SetCustomInterpolator(CCustomInterpolator* pInterpolator);

Parametry

pInterpolator
Ukazatel na vlastní interpolátor.

CInterpolatorBase::SetDuration

Nastaví dobu trvání interpolátoru.

IFACEMETHOD(SetDuration)(__in UI_ANIMATION_SECONDS duration);

Parametry

trvání
Doba trvání přechodu.

Návratová hodnota

Pokud je metoda úspěšná, vrátí S_OK. Vrátí E_FAIL pokud CCustomInterpolator není nastavena, nebo vlastní implementace vrátí FALSE z SetDuration metoda.

CInterpolatorBase::SetInitialValueAndVelocity

Nastaví počáteční hodnotu a rychlost interpolátoru.

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

Parametry

initialValue
Hodnota proměnné na začátku přechodu.

initialVelocity
Rychlost proměnné na začátku přechodu.

Návratová hodnota

Pokud je metoda úspěšná, vrátí S_OK. Vrátí E_FAIL pokud CCustomInterpolator není nastavena, nebo vlastní implementace vrátí FALSE z SetInitialValueAndVelocity metoda.

Viz také

Třídy