Klasa CInterpolatorBase
Implementuje wywołanie zwrotne, które jest wywoływane przez interfejs API animacji, gdy musi obliczyć nową wartość zmiennej animacji.
Składnia
class CInterpolatorBase : public CUIAnimationInterpolatorBase<CInterpolatorBase>;
Elementy członkowskie
Konstruktory publiczne
Nazwa/nazwisko | opis |
---|---|
CInterpolatorBase::CInterpolatorBase | Konstruuje CInterpolatorBase obiekt . |
Metody publiczne
Nazwa/nazwisko | opis |
---|---|
CInterpolatorBase::CreateInstance | Tworzy wystąpienie i przechowuje wskaźnik do niestandardowego CInterpolatorBase interpolatora, który będzie obsługiwał zdarzenia. |
CInterpolatorBase::GetDependencies | Pobiera zależności interpolatora. (Przesłania CUIAnimationInterpolatorBase::GetDependencies ). |
CInterpolatorBase::GetDuration | Pobiera czas trwania interpolatora. (Przesłania CUIAnimationInterpolatorBase::GetDuration ). |
CInterpolatorBase::GetFinalValue | Pobiera końcową wartość, do której prowadzi interpolator. (Przesłania CUIAnimationInterpolatorBase::GetFinalValue ). |
CInterpolatorBase::InterpolateValue | Interpoluje wartość przy danym przesunięciu (przesłonięcia CUIAnimationInterpolatorBase::InterpolateValue ). |
CInterpolatorBase::InterpolateVelocity | Interpoluje prędkość przy danym przesunięciu (przesłonięcia CUIAnimationInterpolatorBase::InterpolateVelocity ). |
CInterpolatorBase::SetCustomInterpolator | Przechowuje wskaźnik do niestandardowego interpolatora, który będzie obsługiwał zdarzenia. |
CInterpolatorBase::SetDuration | Ustawia czas trwania interpolatora (przesłonięcia CUIAnimationInterpolatorBase::SetDuration ). |
CInterpolatorBase::SetInitialValueAndVelocity | Ustawia początkową wartość i szybkość interpolatora. (Przesłania CUIAnimationInterpolatorBase::SetInitialValueAndVelocity ). |
Uwagi
Ta procedura obsługi jest tworzona i przekazywana do IUIAnimationTransitionFactory::CreateTransition
momentu CCustomTransition
utworzenia obiektu w ramach procesu inicjowania animacji (rozpoczętego przez CAnimationController::AnimateGroup
program ). Zwykle nie trzeba używać tej klasy bezpośrednio, po prostu pobiera wszystkie zdarzenia do klasy pochodnej CCustomInterpolator
, której wskaźnik jest przekazywany do konstruktora CCustomTransition
klasy .
Hierarchia dziedziczenia
CUIAnimationCallbackBase
CUIAnimationInterpolatorBase
CInterpolatorBase
Wymagania
Nagłówek: afxanimationcontroller.h
CInterpolatorBase::CInterpolatorBase
Tworzy obiekt CInterpolatorBase.
CInterpolatorBase();
CInterpolatorBase::CreateInstance
Tworzy wystąpienie bazy danych CInterpolatorBase i przechowuje wskaźnik do niestandardowego interpolatora, który będzie obsługiwał zdarzenia.
static COM_DECLSPEC_NOTHROW HRESULT CreateInstance(
CCustomInterpolator* pInterpolator,
IUIAnimationInterpolator** ppHandler);
Parametry
pInterpolator
Wskaźnik do niestandardowego interpolatora.
ppHandler
Wyjście. Zawiera wskaźnik do wystąpienia CInterpolatorBase, gdy funkcja zwraca.
Wartość zwracana
CInterpolatorBase::GetDependencies
Pobiera zależności interpolatora.
IFACEMETHOD(GetDependencies)(
__out UI_ANIMATION_DEPENDENCIES* initialValueDependencies,
__out UI_ANIMATION_DEPENDENCIES* initialVelocityDependencies,
__out UI_ANIMATION_DEPENDENCIES* durationDependencies);
Parametry
initialValueDependencies
Wyjście. Aspekty interpolatora, które zależą od wartości początkowej przekazanej do wartości SetInitialValueAndVelocity.
initialVelocityDependencies
Wyjście. Aspekty interpolatora, które zależą od początkowej prędkości przekazywanej do SetInitialValueAndVelocity.
durationDependencies
Wyjście. Aspekty interpolatora, które zależą od czasu trwania przekazanego do parametru SetDuration.
Wartość zwracana
Jeśli metoda powiedzie się, zwraca S_OK. Zwraca E_FAIL, jeśli klasa CCustomInterpolator nie jest ustawiona, lub implementacja niestandardowa zwraca wartość FALSE z metody GetDependencies.
CInterpolatorBase::GetDuration
Pobiera czas trwania interpolatora.
IFACEMETHOD(GetDuration)(__out UI_ANIMATION_SECONDS* duration);
Parametry
czas trwania
Wyjście. Czas trwania przejścia w sekundach.
Wartość zwracana
Jeśli metoda powiedzie się, zwraca S_OK. Zwraca E_FAIL, jeśli klasa CCustomInterpolator nie jest ustawiona, lub implementacja niestandardowa zwraca wartość FALSE z metody GetDuration.
CInterpolatorBase::GetFinalValue
Pobiera końcową wartość, do której prowadzi interpolator.
IFACEMETHOD(GetFinalValue)(__out DOUBLE* value);
Parametry
wartość
Wyjście. Końcowa wartość zmiennej na końcu przejścia.
Wartość zwracana
Jeśli metoda powiedzie się, zwraca S_OK. Zwraca E_FAIL, jeśli klasa CCustomInterpolator nie jest ustawiona, lub implementacja niestandardowa zwraca wartość FALSE z metody GetFinalValue.
CInterpolatorBase::InterpolateValue
Interpoluje wartość przy danym przesunięciu
IFACEMETHOD(InterpolateValue)(
__in UI_ANIMATION_SECONDS offset,
__out DOUBLE* value);
Parametry
offset
Przesunięcie od początku przejścia. Przesunięcie jest zawsze większe lub równe zero i mniejsze niż czas trwania przejścia. Ta metoda nie jest wywoływana, jeśli czas trwania przejścia wynosi zero.
wartość
Wyjście. Wartość interpolowana.
Wartość zwracana
Jeśli metoda powiedzie się, zwraca S_OK. Zwraca E_FAIL, jeśli klasa CCustomInterpolator nie jest ustawiona, lub niestandardowa implementacja zwraca wartość FALSE z metody InterpolateValue.
CInterpolatorBase::InterpolateVelocity
Interpoluje prędkość przy danym przesunięciu
IFACEMETHOD(InterpolateVelocity)(
__in UI_ANIMATION_SECONDS offset,
__out DOUBLE* velocity);
Parametry
offset
Przesunięcie od początku przejścia. Przesunięcie jest zawsze większe lub równe zero i mniejsze lub równe czasowi trwania przejścia. Ta metoda nie jest wywoływana, jeśli czas trwania przejścia wynosi zero.
prędkość
Wyjście. Szybkość zmiennej z przesunięciem.
Wartość zwracana
Jeśli metoda powiedzie się, zwraca S_OK. Zwraca E_FAIL, jeśli klasa CCustomInterpolator nie jest ustawiona, lub niestandardowa implementacja zwraca wartość FALSE z metody InterpolateVelocity.
CInterpolatorBase::SetCustomInterpolator
Przechowuje wskaźnik do niestandardowego interpolatora, który będzie obsługiwał zdarzenia.
void SetCustomInterpolator(CCustomInterpolator* pInterpolator);
Parametry
pInterpolator
Wskaźnik do niestandardowego interpolatora.
CInterpolatorBase::SetDuration
Ustawia czas trwania interpolatora
IFACEMETHOD(SetDuration)(__in UI_ANIMATION_SECONDS duration);
Parametry
czas trwania
Czas trwania przejścia.
Wartość zwracana
Jeśli metoda powiedzie się, zwraca S_OK. Zwraca E_FAIL, jeśli klasa CCustomInterpolator nie jest ustawiona, lub implementacja niestandardowa zwraca wartość FALSE z metody SetDuration.
CInterpolatorBase::SetInitialValueAndVelocity
Ustawia początkową wartość i szybkość interpolatora.
IFACEMETHOD(SetInitialValueAndVelocity)(
__in DOUBLE initialValue,
__in DOUBLE initialVelocity);
Parametry
initialValue
Wartość zmiennej na początku przejścia.
initialVelocity
Szybkość zmiennej na początku przejścia.
Wartość zwracana
Jeśli metoda powiedzie się, zwraca S_OK. Zwraca E_FAIL, jeśli klasa CCustomInterpolator nie jest ustawiona, lub niestandardowa implementacja zwraca wartość FALSE z metody SetInitialValueAndVelocity.