Condividi tramite


Classe CInterpolatorBase

Implementa un callback, chiamato dall'API di animazione quando deve essere calcolato un nuovo valore di una variabile di animazione.

Sintassi

class CInterpolatorBase : public CUIAnimationInterpolatorBase<CInterpolatorBase>;

Membri

Costruttori pubblici

Nome Descrizione
CInterpolatorBase::CInterpolatorBase Costruisce l'oggetto CInterpolatorBase .

Metodi pubblici

Nome Descrizione
CInterpolatorBase::CreateInstance Crea un'istanza di CInterpolatorBase e archivia un puntatore all'interpolatore personalizzato, che gestirà gli eventi.
CInterpolatorBase::GetDependencies Ottiene le dipendenze dell'interpolatore. Esegue l'override di CUIAnimationInterpolatorBase::GetDependencies.
CInterpolatorBase::GetDuration Ottiene la durata dell'interpolatore. Esegue l'override di CUIAnimationInterpolatorBase::GetDuration.
CInterpolatorBase::GetFinalValue Ottiene il valore finale a cui conduce l'interpolatore. Esegue l'override di CUIAnimationInterpolatorBase::GetFinalValue.
CInterpolatorBase::InterpolateValue Interpola il valore in corrispondenza di un determinato offset (esegue l'override CUIAnimationInterpolatorBase::InterpolateValuedi .
CInterpolatorBase::InterpolateVelocity Interpola la velocità in corrispondenza di un determinato offset (esegue l'override CUIAnimationInterpolatorBase::InterpolateVelocitydi .
CInterpolatorBase::SetCustomInterpolator Archivia un puntatore all'interpolatore personalizzato, che gestirà gli eventi.
CInterpolatorBase::SetDuration Imposta la durata dell'interpolatore (esegue l'override CUIAnimationInterpolatorBase::SetDurationdi .
CInterpolatorBase::SetInitialValueAndVelocity Imposta il valore e la velocità iniziali dell'interpolatore. Esegue l'override di CUIAnimationInterpolatorBase::SetInitialValueAndVelocity.

Osservazioni:

Questo gestore viene creato e passato a IUIAnimationTransitionFactory::CreateTransition quando un CCustomTransition oggetto viene creato come parte del processo di inizializzazione dell'animazione (avviato da CAnimationController::AnimateGroup). In genere non è necessario usare direttamente questa classe, ma solo indirizzare tutti gli eventi a una CCustomInterpolatorclasse derivata da , il cui puntatore viene passato al costruttore di CCustomTransition.

Gerarchia di ereditarietà

CUIAnimationCallbackBase

CUIAnimationInterpolatorBase

CInterpolatorBase

Requisiti

Intestazione: afxanimationcontroller.h

CInterpolatorBase::CInterpolatorBase

Costruisce l'oggetto CInterpolatorBase.

CInterpolatorBase();

CInterpolatorBase::CreateInstance

Crea un'istanza di CInterpolatorBase e archivia un puntatore all'interpolatore personalizzato, che gestirà gli eventi.

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

Parametri

pInterpolator
Puntatore all'interpolatore personalizzato.

ppHandler
Output. Contiene un puntatore all'istanza di CInterpolatorBase quando la funzione restituisce.

Valore restituito

CInterpolatorBase::GetDependencies

Ottiene le dipendenze dell'interpolatore.

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

Parametri

initialValueDependencies
Output. Aspetti dell'interpolatore che dipendono dal valore iniziale passato a SetInitialValueAndVelocity.

initialVelocityDependencies
Output. Aspetti dell'interpolatore che dipendono dalla velocità iniziale passata a SetInitialValueAndVelocity.

durationDependencies
Output. Aspetti dell'interpolatore che dipendono dalla durata passata a SetDuration.

Valore restituito

Se il metodo ha esito positivo, viene restituito S_OK. Restituisce E_FAIL se CCustomInterpolator non è impostato o l'implementazione personalizzata restituisce FALSE dal metodo GetDependencies.

CInterpolatorBase::GetDuration

Ottiene la durata dell'interpolatore.

IFACEMETHOD(GetDuration)(__out UI_ANIMATION_SECONDS* duration);

Parametri

duration
Output. Durata della transizione, espressa in secondi.

Valore restituito

Se il metodo ha esito positivo, viene restituito S_OK. Restituisce E_FAIL se CCustomInterpolator non è impostato o l'implementazione personalizzata restituisce FALSE dal metodo GetDuration.

CInterpolatorBase::GetFinalValue

Ottiene il valore finale a cui conduce l'interpolatore.

IFACEMETHOD(GetFinalValue)(__out DOUBLE* value);

Parametri

value
Output. Valore finale di una variabile alla fine della transizione.

Valore restituito

Se il metodo ha esito positivo, viene restituito S_OK. Restituisce E_FAIL se CCustomInterpolator non è impostato o l'implementazione personalizzata restituisce FALSE dal metodo GetFinalValue.

CInterpolatorBase::InterpolateValue

Interpola il valore in corrispondenza di un determinato offset

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

Parametri

offset
Offset dall'inizio della transizione. L'offset è sempre maggiore o uguale a zero e minore della durata della transizione. Questo metodo non viene chiamato se la durata della transizione è zero.

value
Output. Valore interpolato.

Valore restituito

Se il metodo ha esito positivo, viene restituito S_OK. Restituisce E_FAIL se CCustomInterpolator non è impostato o l'implementazione personalizzata restituisce FALSE dal metodo InterpolateValue.

CInterpolatorBase::InterpolateVelocity

Interpola la velocità in corrispondenza di un determinato offset

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

Parametri

offset
Offset dall'inizio della transizione. L'offset è sempre maggiore o uguale a zero e minore o uguale alla durata della transizione. Questo metodo non viene chiamato se la durata della transizione è zero.

velocità
Output. Velocità della variabile in corrispondenza dell'offset.

Valore restituito

Se il metodo ha esito positivo, viene restituito S_OK. Restituisce E_FAIL se CCustomInterpolator non è impostato oppure l'implementazione personalizzata restituisce FALSE dal metodo InterpolateVelocity.

CInterpolatorBase::SetCustomInterpolator

Archivia un puntatore all'interpolatore personalizzato, che gestirà gli eventi.

void SetCustomInterpolator(CCustomInterpolator* pInterpolator);

Parametri

pInterpolator
Puntatore all'interpolatore personalizzato.

CInterpolatorBase::SetDuration

Imposta la durata dell'interpolatore

IFACEMETHOD(SetDuration)(__in UI_ANIMATION_SECONDS duration);

Parametri

duration
Durata della transizione.

Valore restituito

Se il metodo ha esito positivo, viene restituito S_OK. Restituisce E_FAIL se CCustomInterpolator non è impostato oppure l'implementazione personalizzata restituisce FALSE dal metodo SetDuration.

CInterpolatorBase::SetInitialValueAndVelocity

Imposta il valore e la velocità iniziali dell'interpolatore.

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

Parametri

initialValue
Valore della variabile all'inizio della transizione.

initialVelocity
Velocità della variabile all'inizio della transizione.

Valore restituito

Se il metodo ha esito positivo, viene restituito S_OK. Restituisce E_FAIL se CCustomInterpolator non è impostato oppure l'implementazione personalizzata restituisce FALSE dal metodo SetInitialValueAndVelocity.

Vedi anche

Classi