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.