Udostępnij za pośrednictwem


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::AnimateGroupprogram ). 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 CCustomTransitionklasy .

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.

Zobacz też

Klasy