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 CCustomInterpolator
abgeleitete 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.