Freigeben über


CInterpolatorBase-Klasse

Implementiert einen Rückruf, der von der Animations-API aufgerufen wird, wenn ein neuer Wert einer Animationsvariablen berechnet werden muss.

Syntax

class CInterpolatorBase : public CUIAnimationInterpolatorBase<CInterpolatorBase>;

Member

Öffentliche Konstruktoren

Name Beschreibung
CInterpolatorBase::CInterpolatorBase Erstellt das CInterpolatorBase Objekt.

Öffentliche Methoden

Name Beschreibung
CInterpolatorBase::CreateInstance Erstellt eine Instanz von CInterpolatorBase und speichert einen Zeiger auf benutzerdefinierte Interpolator, der Ereignisse behandelt.
CInterpolatorBase::GetDependencies Ruft die Abhängigkeiten des Interpolators ab. (Überschreibt CUIAnimationInterpolatorBase::GetDependencies.)
CInterpolatorBase::GetDuration Ruft die Dauer des Interpolators ab. (Überschreibt CUIAnimationInterpolatorBase::GetDuration.)
CInterpolatorBase::GetFinalValue Ruft den endgültigen Wert ab, zu dem der Interpolator führt. (Überschreibt CUIAnimationInterpolatorBase::GetFinalValue.)
CInterpolatorBase::InterpolateValue Interpoliert den Wert bei einem bestimmten Offset (Overrides CUIAnimationInterpolatorBase::InterpolateValue.)
CInterpolatorBase::InterpolateVelocity Interpoliert die Geschwindigkeit bei einem bestimmten Offset (Overrides CUIAnimationInterpolatorBase::InterpolateVelocity.)
CInterpolatorBase::SetCustomInterpolator Speichert einen Zeiger auf benutzerdefinierte Interpolator, der Ereignisse behandelt.
CInterpolatorBase::SetDuration Legt die Dauer des Interpolators fest (Overrides CUIAnimationInterpolatorBase::SetDuration.)
CInterpolatorBase::SetInitialValueAndVelocity Legt den Anfangswert und die Geschwindigkeit des Interpolators fest. (Überschreibt CUIAnimationInterpolatorBase::SetInitialValueAndVelocity.)

Hinweise

Dieser Handler wird erstellt und übergeben IUIAnimationTransitionFactory::CreateTransition , wenn ein CCustomTransition Objekt als Teil des Animationsinitialisierungsprozesses erstellt wird (gestartet von CAnimationController::AnimateGroup). In der Regel müssen Sie diese Klasse nicht direkt verwenden, sie leitet nur alle Ereignisse an eine CCustomInterpolatorabgeleitete Klasse weiter, deren Zeiger an den Konstruktor CCustomTransitionübergeben wird.

Vererbungshierarchie

CUIAnimationCallbackBase

CUIAnimationInterpolatorBase

CInterpolatorBase

Anforderungen

Header: afxanimationcontroller.h

CInterpolatorBase::CInterpolatorBase

Erstellt das CInterpolatorBase -Objekt.

CInterpolatorBase();

CInterpolatorBase::CreateInstance

Erstellt eine Instanz von CInterpolatorBase und speichert einen Zeiger auf benutzerdefinierte Interpolator, der Ereignisse behandelt.

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

Parameter

pInterpolator
Ein Zeiger auf benutzerdefinierte Interpolator.

ppHandler
Ausgabe Enthält einen Zeiger auf eine Instanz von CInterpolatorBase, wenn die Funktion zurückgegeben wird.

Rückgabewert

CInterpolatorBase::GetDependencies

Ruft die Abhängigkeiten des Interpolators ab.

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

Parameter

initialValueDependencies
Ausgabe Aspekte des Interpolators, die vom an SetInitialValueAndVelocity übergebenen Anfangswert abhängen.

initialVelocityDependencies
Ausgabe Aspekte des Interpolators, die von der anfänglichen Geschwindigkeit abhängen, die an SetInitialValueAndVelocity übergeben wird.

durationDependencies
Ausgabe Aspekte des Interpolators, die von der an SetDuration übergebenen Dauer abhängen.

Rückgabewert

Wenn die Methode erfolgreich ist, wird S_OK zurückgegeben. Sie gibt E_FAIL zurück, wenn CCustomInterpolator nicht festgelegt ist oder benutzerdefinierte Implementierung FALSE aus der GetDependencies-Methode zurückgibt.

CInterpolatorBase::GetDuration

Ruft die Dauer des Interpolators ab.

IFACEMETHOD(GetDuration)(__out UI_ANIMATION_SECONDS* duration);

Parameter

duration
Ausgabe Die Dauer des Übergangs in Sekunden.

Rückgabewert

Wenn die Methode erfolgreich ist, wird S_OK zurückgegeben. Sie gibt E_FAIL zurück, wenn CCustomInterpolator nicht festgelegt ist oder benutzerdefinierte Implementierung FALSE aus der GetDuration-Methode zurückgibt.

CInterpolatorBase::GetFinalValue

Ruft den endgültigen Wert ab, zu dem der Interpolator führt.

IFACEMETHOD(GetFinalValue)(__out DOUBLE* value);

Parameter

value
Ausgabe Der Endwert einer Variablen am Ende des Übergangs.

Rückgabewert

Wenn die Methode erfolgreich ist, wird S_OK zurückgegeben. Sie gibt E_FAIL zurück, wenn CCustomInterpolator nicht festgelegt ist oder benutzerdefinierte Implementierung FALSE aus der GetFinalValue-Methode zurückgibt.

CInterpolatorBase::InterpolateValue

Interpoliert den Wert bei einem bestimmten Offset.

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

Parameter

offset
Der Offset vom Anfang des Übergangs. Der Offset ist immer größer oder gleich Null und kleiner als die Dauer des Übergangs. Diese Methode wird nicht aufgerufen, wenn die Dauer des Übergangs null ist.

value
Ausgabe Der interpolierte Wert.

Rückgabewert

Wenn die Methode erfolgreich ist, wird S_OK zurückgegeben. Sie gibt E_FAIL zurück, wenn CCustomInterpolator nicht festgelegt ist oder benutzerdefinierte Implementierung FALSE aus der InterpolateValue-Methode zurückgibt.

CInterpolatorBase::InterpolateVelocity

Interpoliert die Geschwindigkeit bei einem bestimmten Offset

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

Parameter

offset
Der Offset vom Anfang des Übergangs. Der Offset ist immer größer oder gleich Null und kleiner als oder gleich der Dauer des Übergangs. Diese Methode wird nicht aufgerufen, wenn die Dauer des Übergangs null ist.

Geschwindigkeit
Ausgabe Die Geschwindigkeit der Variablen am Offset.

Rückgabewert

Wenn die Methode erfolgreich ist, wird S_OK zurückgegeben. Sie gibt E_FAIL zurück, wenn CCustomInterpolator nicht festgelegt ist oder benutzerdefinierte Implementierung FALSE aus der InterpolateVelocity-Methode zurückgibt.

CInterpolatorBase::SetCustomInterpolator

Speichert einen Zeiger auf benutzerdefinierte Interpolator, der Ereignisse behandelt.

void SetCustomInterpolator(CCustomInterpolator* pInterpolator);

Parameter

pInterpolator
Ein Zeiger auf benutzerdefinierte Interpolator.

CInterpolatorBase::SetDuration

Legt die Dauer des Interpolators fest.

IFACEMETHOD(SetDuration)(__in UI_ANIMATION_SECONDS duration);

Parameter

duration
Die Dauer des Übergangs.

Rückgabewert

Wenn die Methode erfolgreich ist, wird S_OK zurückgegeben. Sie gibt E_FAIL zurück, wenn CCustomInterpolator nicht festgelegt ist, oder benutzerdefinierte Implementierung false aus der SetDuration-Methode zurückgibt.

CInterpolatorBase::SetInitialValueAndVelocity

Legt den Anfangswert und die Geschwindigkeit des Interpolators fest.

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

Parameter

initialValue
Der Wert der Variablen am Anfang des Übergangs.

initialVelocity
Die Geschwindigkeit der Variablen am Anfang des Übergangs.

Rückgabewert

Wenn die Methode erfolgreich ist, wird S_OK zurückgegeben. Sie gibt E_FAIL zurück, wenn CCustomInterpolator nicht festgelegt ist oder benutzerdefinierte Implementierung FALSE aus der SetInitialValueAndVelocity-Methode zurückgibt.

Siehe auch

Klassen