Condividi tramite


Classe CInterpolatorBase

Annotazioni

La libreria Microsoft Foundation Classes (MFC) continua a essere supportata. Tuttavia, non aggiungiamo più funzionalità né aggiorniamo la documentazione.

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