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::InterpolateValue di . |
CInterpolatorBase::InterpolateVelocity | Interpola la velocità in corrispondenza di un determinato offset (esegue l'override CUIAnimationInterpolatorBase::InterpolateVelocity di . |
CInterpolatorBase::SetCustomInterpolator | Archivia un puntatore all'interpolatore personalizzato, che gestirà gli eventi. |
CInterpolatorBase::SetDuration | Imposta la durata dell'interpolatore (esegue l'override CUIAnimationInterpolatorBase::SetDuration di . |
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 CCustomInterpolator
classe 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.