Classe CInterpolatorBase

Implementa um retorno de chamada, que é chamado pela API de Animação quando precisa calcular um novo valor de uma variável de animação.

Sintaxe

class CInterpolatorBase : public CUIAnimationInterpolatorBase<CInterpolatorBase>;

Membros

Construtores públicos

Nome Descrição
CInterpolatorBase::CInterpolatorBase Constrói o objeto CInterpolatorBase.

Métodos públicos

Nome Descrição
CInterpolatorBase::CreateInstance Cria uma instância de CInterpolatorBase e armazena um ponteiro para o interpolador personalizado, que estará tratando eventos.
CInterpolatorBase::GetDependencies Obtém as dependências do interpolador. (Substitui CUIAnimationInterpolatorBase::GetDependencies.)
CInterpolatorBase::GetDuration Obtém a duração do interpolador. (Substitui CUIAnimationInterpolatorBase::GetDuration.)
CInterpolatorBase::GetFinalValue Obtém o valor final ao qual o interpolador lidera. (Substitui CUIAnimationInterpolatorBase::GetFinalValue.)
CInterpolatorBase::InterpolateValue Interpola o valor em um determinado deslocamento (Substitui CUIAnimationInterpolatorBase::InterpolateValue).
CInterpolatorBase::InterpolateVelocity Interpola a velocidade em um determinado deslocamento (Substitui CUIAnimationInterpolatorBase::InterpolateVelocity).
CInterpolatorBase::SetCustomInterpolator Armazena um ponteiro para o interpolador personalizado, que tratará eventos.
CInterpolatorBase::SetDuration Define a duração do interpolador (Substitui CUIAnimationInterpolatorBase::SetDuration).
CInterpolatorBase::SetInitialValueAndVelocity Define o valor e a velocidade iniciais do interpolador. (Substitui CUIAnimationInterpolatorBase::SetInitialValueAndVelocity.)

Comentários

Esse manipulador é criado e passado para IUIAnimationTransitionFactory::CreateTransition quando um objeto CCustomTransition está sendo criado como parte do processo de inicialização de animação (iniciado por CAnimationController::AnimateGroup). Normalmente você não precisa usar essa classe diretamente; ela apenas roteia todos os eventos para uma classe derivada CCustomInterpolator, cujo ponteiro é passado para o construtor de CCustomTransition.

Hierarquia de herança

CUIAnimationCallbackBase

CUIAnimationInterpolatorBase

CInterpolatorBase

Requisitos

Cabeçalho: afxanimationcontroller.h

CInterpolatorBase::CInterpolatorBase

Constrói o objeto CInterpolatorBase.

CInterpolatorBase();

CInterpolatorBase::CreateInstance

Cria uma instância de CInterpolatorBase e armazena um ponteiro para o interpolador personalizado, que tratará eventos.

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

Parâmetros

pInterpolator
Um ponteiro para o interpolador personalizado.

ppHandler
Saída. Contém um ponteiro para a instância do CInterpolatorBase quando a função retorna.

Valor de retorno

CInterpolatorBase::GetDependencies

Obtém as dependências do interpolador.

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

Parâmetros

initialValueDependencies
Saída. Aspectos do interpolador que dependem do valor inicial passado para SetInitialValueAndVelocity.

initialVelocityDependencies
Saída. Aspectos do interpolador que dependem da velocidade inicial passada para SetInitialValueAndVelocity.

durationDependencies
Saída. Aspectos do interpolador que dependem da duração passada para SetDuration.

Valor de retorno

Se o método for bem-sucedido, retornará S_OK. Ele retorna E_FAIL se CCustomInterpolator não estiver definido ou se a implementação personalizada retornar FALSE do método GetDependencies.

CInterpolatorBase::GetDuration

Obtém a duração do interpolador.

IFACEMETHOD(GetDuration)(__out UI_ANIMATION_SECONDS* duration);

Parâmetros

duration
Saída. A duração da transição, em segundos.

Valor de retorno

Se o método for bem-sucedido, retornará S_OK. Ele retorna E_FAIL se CCustomInterpolator não estiver definido ou se a implementação personalizada retornar FALSE do método GetDuration.

CInterpolatorBase::GetFinalValue

Obtém o valor final ao qual o interpolador lidera.

IFACEMETHOD(GetFinalValue)(__out DOUBLE* value);

Parâmetros

value
Saída. O valor final de uma variável no final da transição.

Valor de retorno

Se o método for bem-sucedido, retornará S_OK. Ele retorna E_FAIL se CCustomInterpolator não estiver definido ou se a implementação personalizada retornar FALSE do método GetFinalValue.

CInterpolatorBase::InterpolateValue

Interpola o valor em um determinado deslocamento

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

Parâmetros

deslocamento
O deslocamento a partir do início da transição. O deslocamento é sempre maior ou igual a zero e menor que a duração da transição. Esse método não será chamado se a duração da transição for zero.

value
Saída. O valor interpolado.

Valor de retorno

Se o método for bem-sucedido, retornará S_OK. Ele retorna E_FAIL se CCustomInterpolator não estiver definido ou se a implementação personalizada retornar FALSE do método InterpolateValue.

CInterpolatorBase::InterpolateVelocity

Interpola a velocidade em um determinado deslocamento

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

Parâmetros

deslocamento
O deslocamento a partir do início da transição. O deslocamento é sempre maior ou igual a zero e menor ou igual à duração da transição. Esse método não será chamado se a duração da transição for zero.

velocidade
Saída. A velocidade da variável no deslocamento.

Valor de retorno

Se o método for bem-sucedido, retornará S_OK. Ele retorna E_FAIL se CCustomInterpolator não estiver definido ou se a implementação personalizada retornar FALSE do método InterpolateVelocity.

CInterpolatorBase::SetCustomInterpolator

Armazena um ponteiro para o interpolador personalizado, que tratará eventos.

void SetCustomInterpolator(CCustomInterpolator* pInterpolator);

Parâmetros

pInterpolator
Um ponteiro para o interpolador personalizado.

CInterpolatorBase::SetDuration

Define a duração do interpolador

IFACEMETHOD(SetDuration)(__in UI_ANIMATION_SECONDS duration);

Parâmetros

duration
A duração da transição.

Valor de retorno

Se o método for bem-sucedido, retornará S_OK. Ele retorna E_FAIL se CCustomInterpolator não estiver definido ou se a implementação personalizada retornar FALSE do método SetDuration.

CInterpolatorBase::SetInitialValueAndVelocity

Define o valor e a velocidade iniciais do interpolador.

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

Parâmetros

initialValue
O valor da variável no início da transição.

initialVelocity
A velocidade da variável no início da transição.

Valor de retorno

Se o método for bem-sucedido, retornará S_OK. Ele retorna E_FAIL se CCustomInterpolator não estiver definido ou se a implementação personalizada retornar FALSE do método SetInitialValueAndVelocity.

Confira também

Classes