Compartir a través de


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.

Consulte también

Clases