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.