Partilhar via


Classe CIntinterpolatorBase

Observação

A biblioteca Microsoft Foundation Classes (MFC) continua a ser suportada. No entanto, já não estamos a adicionar funcionalidades nem a atualizar a documentação.

Implementa um callback, que é chamado pela API de animação quando tem de calcular um novo valor de uma variável de animação.

Sintaxe

class CInterpolatorBase : public CUIAnimationInterpolatorBase<CInterpolatorBase>;

Membros

Construtores Públicos

Nome Description
CInterpolatorBase::CInterpolatorBase Constrói o CInterpolatorBase objeto.

Métodos Públicos

Nome Description
CInterpolatorBase::CreateInstance Cria uma instância de CInterpolatorBase e armazena um ponteiro para um interpolador personalizado, que irá tratar de eventos.
CInterpolatorBase::GetDependencies Obtém as dependências do interpolador. (Anula CUIAnimationInterpolatorBase::GetDependencies.)
CInterpolatorBase::GetDuration Obtém a duração do interpolador. (Anula CUIAnimationInterpolatorBase::GetDuration.)
CInterpolatorBase::GetFinalValue Obtém o valor final ao qual o interpolador conduz. (Anula CUIAnimationInterpolatorBase::GetFinalValue.)
CInterpolatorBase::InterpolateValue Interpola o valor num determinado deslocamento (Overrides CUIAnimationInterpolatorBase::InterpolateValue).
CIntinterpolatorBase::InterpolateVelocity Interpola a velocidade a um dado deslocamento (Overrides CUIAnimationInterpolatorBase::InterpolateVelocity).
CInterpolatorBase::SetCustomInterpolator Armazena um apontador para um interpolador personalizado, que irá tratar de eventos.
Cinner polatorBase::SetDuration Define a duração do interpolador (Overrides CUIAnimationInterpolatorBase::SetDuration.)
CInterpolatorBase::SetInitialValueAndVelocity Define o valor inicial e a velocidade do interpolador. (Anula CUIAnimationInterpolatorBase::SetInitialValueAndVelocity.)

Observações

Este handler é criado e passado quando IUIAnimationTransitionFactory::CreateTransition um CCustomTransition objeto está a ser criado como parte do processo de inicialização da animação (iniciado por CAnimationController::AnimateGroup). Normalmente não precisas de usar esta classe diretamente, ela apenas encaminha todos os eventos para uma CCustomInterpolatorclasse derivada de , cujo ponteiro é passado para o construtor de CCustomTransition.

Hierarquia de herança

CUIAnimationCallbackBase

CUIAnimationInterpolatorBase

CInterpolatorBase

Requerimentos

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 um interpolador personalizado, que irá tratar de eventos.

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

Parâmetros

pInterpolador
Um apontador para um interpolador personalizado.

ppHandler
Saída. Contém um apontador para uma instância de 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. Aspetos do interpolador que dependem do valor inicial passado para SetInitialValueAndVelocity.

initialVelocityDependencies
Saída. Aspetos do interpolador que dependem da velocidade inicial são passados para SetInitialValueAndVelocity.

duração Dependências
Saída. Aspetos do interpolador que dependem da duração passada ao SetDuration.

Valor de retorno

Se o método tiver sucesso, ele devolve S_OK. Devolve E_FAIL se o CCustomInterpolator não estiver definido, ou se a implementação personalizada devolver FALSE do método GetDependencies.

CInterpolatorBase::GetDuration

Obtém a duração do interpolador.

IFACEMETHOD(GetDuration)(__out UI_ANIMATION_SECONDS* duration);

Parâmetros

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

Valor de retorno

Se o método tiver sucesso, ele devolve S_OK. Devolve E_FAIL se o CCustomInterpolator não estiver definido, ou se a implementação personalizada devolver FALSE do método GetDuration.

CInterpolatorBase::GetFinalValue

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

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 tiver sucesso, ele devolve S_OK. Devolve E_FAIL se o CCustomInterpolator não estiver definido, ou se a implementação personalizada devolver FALSE do método GetFinalValue.

CInterpolatorBase::InterpolateValue

Interpola o valor num determinado deslocamento

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

Parâmetros

Deslocamento
O deslocamento em relação ao início da transição. O deslocamento é sempre maior ou igual a zero e menor que a duração da transição. Este método não é chamado se a duração da transição for zero.

value
Saída. O valor interpolado.

Valor de retorno

Se o método tiver sucesso, ele devolve S_OK. Devolve E_FAIL se o CCustomInterpolator não estiver definido, ou se a implementação personalizada devolver FALSE do método InterpolateValue.

CIntinterpolatorBase::InterpolateVelocity

Interpola a velocidade a um dado deslocamento

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

Parâmetros

Deslocamento
O deslocamento em relação ao início da transição. O deslocamento é sempre maior ou igual a zero e menor ou igual à duração da transição. Este método não é 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 tiver sucesso, ele devolve S_OK. Devolve E_FAIL se o CCustomInterpolator não estiver definido, ou se a implementação personalizada devolver FALSE do método InterpolateVelocity.

CInterpolatorBase::SetCustomInterpolator

Armazena um apontador para um interpolador personalizado, que irá tratar de eventos.

void SetCustomInterpolator(CCustomInterpolator* pInterpolator);

Parâmetros

pInterpolador
Um apontador para um interpolador personalizado.

Cinner polatorBase::SetDuration

Define a duração do interpolador

IFACEMETHOD(SetDuration)(__in UI_ANIMATION_SECONDS duration);

Parâmetros

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

Valor de retorno

Se o método tiver sucesso, ele devolve S_OK. Devolve E_FAIL se o CCustomInterpolator não estiver definido, ou se a implementação personalizada devolver FALSE do método SetDuration.

CInterpolatorBase::SetInitialValueAndVelocity

Define o valor inicial e a velocidade do interpolador.

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

Parâmetros

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

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

Valor de retorno

Se o método tiver sucesso, ele devolve S_OK. Devolve E_FAIL se o CCustomInterpolator não estiver definido, ou se a implementação personalizada devolver FALSE do método SetInitialValueAndVelocity.

Consulte também

Classes