CInterpolatorBase (clase)
Implementa una devolución de llamada, a la que llama la API de animación cuando tiene que calcular un nuevo valor de una variable de animación.
Sintaxis
class CInterpolatorBase : public CUIAnimationInterpolatorBase<CInterpolatorBase>;
Miembros
Constructores públicos
Nombre | Descripción |
---|---|
CInterpolatorBase::CInterpolatorBase | Este constructor se usa para construir el objeto CInterpolatorBase . |
Métodos públicos
Nombre | Descripción |
---|---|
CInterpolatorBase::CreateInstance | Esta función se usa para crear una instancia de la clase CInterpolatorBase y almacenar un puntero que apunta al interpolador personalizado que se usa para controlar los eventos. |
CInterpolatorBase::GetDependencies | Esta función se usa para obtener las dependencias del interpolador. (Invalida CUIAnimationInterpolatorBase::GetDependencies ). |
CInterpolatorBase::GetDuration | Esta función se usa para establecer la duración del interpolador. (Invalida CUIAnimationInterpolatorBase::GetDuration ). |
CInterpolatorBase::GetFinalValue | Esta función se usa para obtener el valor final hacia el que se dirige desde el interpolador. (Invalida CUIAnimationInterpolatorBase::GetFinalValue ). |
CInterpolatorBase::InterpolateValue | Esta función se usa para interpolar el valor que se ubica en un desplazamiento determinado (su uso invalida a la función CUIAnimationInterpolatorBase::InterpolateValue ). |
CInterpolatorBase::InterpolateVelocity | Esta función se usa para interpolar la velocidad de un desplazamiento determinado (su uso invalida a la función CUIAnimationInterpolatorBase::InterpolateVelocity ). |
CInterpolatorBase::SetCustomInterpolator | Esta función se usa para almacenar un puntero que apunta al interpolador personalizado, que se usa para controlar los eventos. |
CInterpolatorBase::SetDuration | Esta función se usa para establecer la duración del interpolador (su uso invalida a la función CUIAnimationInterpolatorBase::SetDuration ). |
CInterpolatorBase::SetInitialValueAndVelocity | Esta función se usa para establecer el valor inicial y la velocidad del interpolador. (Invalida CUIAnimationInterpolatorBase::SetInitialValueAndVelocity ). |
Comentarios
Este controlador se crea y se pasa a la función IUIAnimationTransitionFactory::CreateTransition
mientras se crea un objeto CCustomTransition
como parte de un proceso de inicialización de animación (que se inicia mediante la función CAnimationController::AnimateGroup
). Normalmente no es necesario usar esta clase directamente, ya que esta solo se usa para enrutar todos los eventos a una clase que se deriva de la clase CCustomInterpolator
, cuyo puntero se pasa al constructor de la clase CCustomTransition
.
Jerarquía de herencia
CUIAnimationCallbackBase
CUIAnimationInterpolatorBase
CInterpolatorBase
Requisitos
Encabezado: afxanimationcontroller.h
CInterpolatorBase::CInterpolatorBase
Este constructor se usa para construir el objeto CInterpolatorBase.
CInterpolatorBase();
CInterpolatorBase::CreateInstance
Esta función se usa para crear una instancia de la clase CInterpolatorBase y almacenar un puntero que apunta al interpolador personalizado que se usa para controlar los eventos.
static COM_DECLSPEC_NOTHROW HRESULT CreateInstance(
CCustomInterpolator* pInterpolator,
IUIAnimationInterpolator** ppHandler);
Parámetros
pInterpolator
El valor de este parámetro se corresponde con un puntero que apunta al interpolador personalizado.
ppHandler
Salida. En el valor de este parámetro, cuando la función se devuelve, se incluye un puntero que apunta a la instancia de la clase CInterpolatorBase.
Valor devuelto
CInterpolatorBase::GetDependencies
Esta función se usa para obtener las dependencias del interpolador.
IFACEMETHOD(GetDependencies)(
__out UI_ANIMATION_DEPENDENCIES* initialValueDependencies,
__out UI_ANIMATION_DEPENDENCIES* initialVelocityDependencies,
__out UI_ANIMATION_DEPENDENCIES* durationDependencies);
Parámetros
initialValueDependencies
Salida. En el valor de este parámetro, se incluyen los aspectos del interpolador que dependen del valor inicial que se pasa a la función SetInitialValueAndVelocity.
initialVelocityDependencies
Salida. En el valor de este parámetro, se incluyen los aspectos del interpolador que dependen de la velocidad inicial que se pasa a la función SetInitialValueAndVelocity.
durationDependencies
Salida. En el valor de este parámetro, se incluyen los aspectos del interpolador que dependen de la duración que se pasa a la función SetDuration.
Valor devuelto
Si el método se realiza correctamente, devuelve S_OK. Si no se establece el objeto CCustomInterpolator, se devolverá E_FAIL o se devolverá un valor FALSE desde el método GetDependencies de la implementación personalizada.
CInterpolatorBase::GetDuration
Esta función se usa para establecer la duración del interpolador.
IFACEMETHOD(GetDuration)(__out UI_ANIMATION_SECONDS* duration);
Parámetros
duration
Salida. El valor de este parámetro se corresponde con la duración de la transición, en segundos.
Valor devuelto
Si el método se realiza correctamente, devuelve S_OK. Si no se establece el objeto CCustomInterpolator, se devolverá E_FAIL o se devolverá un valor FALSE desde el método GetDuration de la implementación personalizada.
CInterpolatorBase::GetFinalValue
Esta función se usa para obtener el valor final hacia el que se dirige desde el interpolador.
IFACEMETHOD(GetFinalValue)(__out DOUBLE* value);
Parámetros
value
Salida. El valor de este parámetro se corresponde con el valor final que tiene una variable al final de la transición.
Valor devuelto
Si el método se realiza correctamente, devuelve S_OK. Si no se establece el objeto CCustomInterpolator, se devolverá E_FAIL o se devolverá un valor FALSE desde el método GetFinalValue de la implementación personalizada.
CInterpolatorBase::InterpolateValue
Esta función se usa para interpolar el valor que se ubica en un desplazamiento determinado.
IFACEMETHOD(InterpolateValue)(
__in UI_ANIMATION_SECONDS offset,
__out DOUBLE* value);
Parámetros
offset
El valor de este parámetro se corresponde con el desplazamiento desde el inicio de la transición. El desplazamiento siempre es mayor o igual que cero y menor que la duración de la transición. Si la duración de la transición es cero, no se llamará a este método.
value
Salida. Se corresponde con el valor interpolado.
Valor devuelto
Si el método se realiza correctamente, devuelve S_OK. Si no se establece el objeto CCustomInterpolator, se devolverá E_FAIL o se devolverá un valor FALSE desde el método InterpolateValue de la implementación personalizada.
CInterpolatorBase::InterpolateVelocity
Esta función se usa para interpolar la velocidad de un desplazamiento determinado.
IFACEMETHOD(InterpolateVelocity)(
__in UI_ANIMATION_SECONDS offset,
__out DOUBLE* velocity);
Parámetros
offset
El valor de este parámetro se corresponde con el desplazamiento desde el inicio de la transición. El desplazamiento siempre es mayor o igual que cero y menor o igual que la duración de la transición. Si la duración de la transición es cero, no se llamará a este método.
velocidad
Salida. Se corresponde con la velocidad de la variable que se ubique en el desplazamiento.
Valor devuelto
Si el método se realiza correctamente, devuelve S_OK. Si no se establece el objeto CCustomInterpolator, se devolverá E_FAIL o se devolverá un valor FALSE desde el método InterpolateVelocity de la implementación personalizada.
CInterpolatorBase::SetCustomInterpolator
Esta función se usa para almacenar un puntero que apunta al interpolador personalizado, que se usa para controlar los eventos.
void SetCustomInterpolator(CCustomInterpolator* pInterpolator);
Parámetros
pInterpolator
El valor de este parámetro se corresponde con un puntero que apunta al interpolador personalizado.
CInterpolatorBase::SetDuration
Esta función se usa para establecer la duración del interpolador.
IFACEMETHOD(SetDuration)(__in UI_ANIMATION_SECONDS duration);
Parámetros
duration
El valor de este parámetro se corresponde con la duración de la transición.
Valor devuelto
Si el método se realiza correctamente, devuelve S_OK. Si no se establece el objeto CCustomInterpolator, se devolverá E_FAIL o se devolverá un valor FALSE desde el método SetDuration de la implementación personalizada.
CInterpolatorBase::SetInitialValueAndVelocity
Esta función se usa para establecer el valor inicial y la velocidad del interpolador.
IFACEMETHOD(SetInitialValueAndVelocity)(
__in DOUBLE initialValue,
__in DOUBLE initialVelocity);
Parámetros
initialValue
El valor de este parámetro se corresponde con el valor de la variable al principio de la transición.
initialVelocity
El valor de este parámetro se corresponde con la velocidad de la variable al principio de la transición.
Valor devuelto
Si el método se realiza correctamente, devuelve S_OK. Si no se establece el objeto CCustomInterpolator, se devolverá E_FAIL o se devolverá un valor FALSE desde el método SetInitialValueAndVelocity de la implementación personalizada.