Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
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 o controlador de animação, que fornece uma interface central para criar e gerir animações.
Sintaxe
class CAnimationController : public CObject;
Membros
Construtores Públicos
| Nome | Description |
|---|---|
| CAnimationController::CAnimationController | Constrói um controlador de animação. |
| CAnimationController::~CAnimationController | O destruidor. Chamada quando o objeto do controlador de animação está a ser destruído. |
Métodos Públicos
| Nome | Description |
|---|---|
| CAnimationController::AddAnimationObject | Adiciona um objeto de animação a um grupo que pertence ao controlador de animação. |
| CAnimationController::AddKeyframeToGroup | Adiciona um keyframe para o grupo. |
| CAnimationController::AnimateGroup | Prepara um grupo para executar animação e, opcionalmente, agenda-a. |
| CAnimationController::CleanUpGroup | Sobrecarregado. Chamado pelo framework para limpar o grupo quando a animação está agendada. |
| CAnimationController::CreateKeyframe | Sobrecarregado. Cria um keyframe que depende da transição e adiciona-o ao grupo especificado. |
| CAnimationController::EnableAnimationManagerEvent | Define ou liberta um handler para chamar quando o estado do gestor de animação muda. |
| CAnimationController::EnableAnimationTimerEventHandler | Define ou liberta um handler para eventos de temporização e um handler para atualizações de timings. |
| CAnimationController::EnablePriorityComparisonHandler | Define ou liberta o handler de comparação de prioridades para chamar e determinar se um storyboard agendado pode ser cancelado, concluído, cortado ou comprimido. |
| CAnimationController::EnableStoryboardEventHandler | Define ou liberta um handler para o estado do storyboard e atualizações de eventos. |
| CAnimationController::FindAnimationGroup | Sobrecarregado. Encontra um grupo de animação pelo seu storyboard. |
| CAnimationController::FindAnimationObject | Encontra um objeto de animação contendo uma variável de animação especificada. |
| CAnimationController::GetKeyframeStoryboard Start | Devolve um keyframe que identifica o início do storyboard. |
| CAnimationController::GetUIAnimationManager | Fornece acesso ao objeto IUIAnimationManager encapsulado. |
| CAnimationController::GetUIAnimationTimer | Fornece acesso ao objeto IUIAnimationTimer encapsulado. |
| CAnimationController::GetUITransitionFactory | Um ponteiro para a interface IUIAnimationTransitionFactory ou NULL, caso a criação da biblioteca de transição falhasse. |
| CAnimationController::GetUITransitionLibrary | Fornece acesso ao objeto IUIAnimationTransitionLibrary encapsulado. |
| CAnimationController::IsAnimationInProgress | Indica se pelo menos um grupo está a jogar animação. |
| CAnimationController::IsValid | Indica se o controlador de animação é válido. |
| CAnimationController::OnAnimationIntegerValueChanged | Chamado pelo framework quando o valor inteiro da variável de animação mudou. |
| CAnimationController::OnAnimationManagerStatusAlterado | Chamado pelo framework em resposta ao evento StatusChanged do gestor de animações. |
| CAnimationController::OnAnimationTimerPostUpdate | É chamado pelo framework depois de terminar uma atualização de animação. |
| CAnimationController::OnAnimationTimerPreUpdate | É chamado pelo framework antes de começar uma atualização de animação. |
| CAnimationController::OnAnimationTimeTimeRRenderingTooSlow | Chamada pelo framework quando a taxa de fotogramas de renderização de uma animação cai abaixo de uma taxa mínima desejável. |
| CAnimationController::OnAnimationValueChanged | Chamada pelo framework quando o valor da variável de animação mudou. |
| CAnimationController::OnBeforeAnimationStart | Chamado pela framework mesmo antes da animação ser agendada. |
| CAnimationController::OnHasPriorityCancel | Chamado pelo framework para resolver conflitos de agendamento. |
| CAnimationController::OnHasPriorityCompress | Chamado pelo framework para resolver conflitos de agendamento. |
| CAnimationController::OnHasPriorityConclude | Chamado pelo framework para resolver conflitos de agendamento. |
| CAnimationController::OnHasPriorityTrim | Chamado pelo framework para resolver conflitos de agendamento. |
| ControladorDeCAnimação::EmEstadoStoryboard Alterado | É chamado pelo framework quando o estado do storyboard mudou. |
| CAnimationController::OnStoryboardAtualizado | É chamado pelo framework quando o storyboard é atualizado. |
| CAnimationController::RemoveAllAnimationGroups | Remove todos os grupos de animação do controlador de animação. |
| CAnimationController::RemoveAnimationGroup | Remove um grupo de animação com ID especificado do controlador de animação. |
| CAnimationController::RemoveAnimationObject | Remover um objeto de animação do controlador de animação. |
| CAnimationController::RemoveTransitions | Remove transições de objetos de animação que pertencem ao grupo especificado. |
| CAnimationController::ScheduleGroup | Agenda uma animação. |
| CAnimationController::SetRelatedWnd | Estabelece uma relação entre o controlador de animação e uma janela. |
| CAnimationController::UpdateAnimationManager | Orienta o gestor de animações a atualizar os valores de todas as variáveis de animação. |
Métodos Protegidos
| Nome | Description |
|---|---|
| CAnimationController::CleanUpGroup | Sobrecarregado. Um ajudante que limpa o grupo. |
| CAnimationController::OnAfterSchedule | Chamada pelo framework quando uma animação para o grupo especificado acaba de ser agendada. |
Membros de Dados Protegidos
| Nome | Description |
|---|---|
| CAnimationController::gkeyframeStoryboard Start | Um keyframe que representa o início do storyboard. |
| CAnimationController::m_bIsValid | Especifica se um controlador de animação é válido ou não. Este membro está definido para FALSE se o sistema operativo atual não suportar a API de animação do Windows. |
| CAnimationController::m_lstAnimationGroups | Uma lista dos grupos de animação que pertencem a este controlador de animação. |
| CAnimationController::m_pAnimationManager | Armazena um ponteiro para o objeto COM do Animation Manager. |
| CAnimationController::m_pAnimationTimer | Armazena um apontador para o objeto COM do Temporizador de Animação. |
| CAnimationController::m_pRelatedWnd | Um apontador para um objeto CWnd relacionado, que pode ser redesenhado automaticamente quando o estado do gestor de animações mudou, ou ocorre um evento pós-atualização. Pode ser NULL. |
| CAnimationController::m_pTransitionFactory | Armazena um apontador para o objeto COM do Transition Factory. |
| CAnimationController::m_pTransitionLibrary | Armazena um ponteiro para o objeto COM da Biblioteca de Transição. |
Observações
A classe CAnimationController é a classe chave que gere as animações. Pode criar uma ou mais instâncias de controlador de animação numa aplicação e, opcionalmente, ligar uma instância de controlador de animação a um objeto CWnd usando CAnimationController::SetRelatedWnd. Esta ligação é necessária para enviar automaticamente WM_PAINT mensagens para a janela relacionada quando o estado do gestor de animações mudou ou o temporizador de animação foi atualizado. Se não ativares esta relação, tens de redesenhar manualmente uma janela que exibe uma animação. Para esse fim, pode derivar uma classe a partir do CAnimationController e sobrescrever OnAnimationManagerStatusChanged e/ou OnAnimationTimerPostUpdate e invalidar uma ou mais janelas quando necessário.
Hierarquia de herança
CAnimationController
Requerimentos
Cabeçalho: afxanimationcontroller.h
CAnimationController::~CAnimationController
O destruidor. Chamada quando o objeto do controlador de animação está a ser destruído.
virtual ~CAnimationController(void);
CAnimationController::AddAnimationObject
Adiciona um objeto de animação a um grupo que pertence ao controlador de animação.
CAnimationGroup* AddAnimationObject(CAnimationBaseObject* pObject);
Parâmetros
pObject
Um apontador para um objeto de animação.
Valor de retorno
Um ponteiro para um grupo de animação existente ou novo onde pObject foi adicionado se a função tiver sucesso; NULL se o pObject já tiver sido adicionado a um grupo que pertence a outro controlador de animação.
Observações
Chame este método para adicionar um objeto de animação ao controlador de animação. Um objeto será adicionado a um grupo de acordo com o GroupID do objeto (ver CAnimationBaseObject::SetID). O controlador de animação criará um novo grupo se for o primeiro objeto a ser adicionado com o GroupID especificado. Um objeto de animação pode ser adicionado apenas a um controlador de animação. Se precisares de adicionar um objeto a outro controlador, liga primeiro para o RemoveAnimationObject. Se chamar SetID com um novo GroupID para um objeto que já foi adicionado a um grupo, o objeto será removido do grupo antigo e adicionado a outro grupo com ID especificado.
CAnimationController::AddKeyframeToGroup
Adiciona um keyframe para o grupo.
BOOL AddKeyframeToGroup(
UINT32 nGroupID,
CBaseKeyFrame* pKeyframe);
Parâmetros
nGroupID
Especifica o ID do grupo.
pKeyframe
Um apontador para um keyframe.
Valor de retorno
TRUE se a função tiver sucesso; caso contrário, FALSO.
Observações
Normalmente não precisas de chamar este método, usa o CAnimationController::CreateKeyframe, que cria e adiciona automaticamente o keyframe criado a um grupo.
CAnimationController::AnimateGroup
Prepara um grupo para executar animação e, opcionalmente, agenda-a.
BOOL AnimateGroup(
UINT32 nGroupID,
BOOL bScheduleNow = TRUE);
Parâmetros
nGroupID
Especifica GroupID.
bScheduleNow
Especifica se deve executar a animação imediatamente.
Valor de retorno
VERDADE se a animação foi agendada e executada com sucesso.
Observações
Este método faz o trabalho real de criar o storyboard, adicionar variáveis de animação, aplicar transições e definir keyframes. É possível atrasar o agendamento se definir o bScheduleNow para FALSE. Neste caso, o grupo especificado terá um storyboard que foi preparado para animação. Nesse ponto, podes configurar eventos para o storyboard e as variáveis de animação. Quando realmente precisares de executar a animação, chama CAnimationController::ScheduleGroup.
CAnimationController::CAnimationController
Constrói um controlador de animação.
CAnimationController(void);
CAnimationController::CleanUpGroup
Chamado pelo framework para limpar o grupo quando a animação está agendada.
void CleanUpGroup(UINT32 nGroupID);
void CleanUpGroup(CAnimationGroup* pGroup);
Parâmetros
nGroupID
Especifica GroupID.
pGroup
Um apontador para o grupo de animação para limpar.
Observações
Este método remove todas as transições e keyframes do grupo especificado, pois não são relevantes após uma animação ter sido agendada.
CAnimationController::CreateKeyframe
Cria um keyframe que depende da transição e adiciona-o ao grupo especificado.
CKeyFrame* CreateKeyframe(
UINT32 nGroupID,
CBaseTransition* pTransition);
CKeyFrame* CreateKeyframe(
UINT32 nGroupID,
CBaseKeyFrame* pKeyframe,
UI_ANIMATION_SECONDS offset = 0.0);
Parâmetros
nGroupID
Especifica o ID do grupo para qual keyframe é criado.
pTransition
Um sinal para a transição. O keyframe será inserido no storyboard após esta transição.
pKeyframe
Um apontador para o keyframe base deste keyframe.
Deslocamento
Deslocamento em segundos em relação ao keyframe base especificado pelo pKeyframe.
Valor de retorno
Um ponteiro para um keyframe recém-criado se a função tiver sucesso.
Observações
Podes armazenar o ponteiro devolvido e basear outros keyframes no keyframe recém-criado (ver a segunda sobrecarga). É possível iniciar transições em keyframes – veja CBaseTransition::SetKeyframes. Não precisas de apagar keyframes criados desta forma, porque são eliminados automaticamente pelos grupos de animação. Tenha cuidado ao criar keyframes baseados noutros keyframes e transições e evite referências circulares.
CAnimationController::EnableAnimationManagerEvent
Define ou liberta um handler para chamar quando o estado do gestor de animação muda.
virtual BOOL EnableAnimationManagerEvent(BOOL bEnable = TRUE);
Parâmetros
bEnable
Especifica se deve definir ou libertar um handler.
Valor de retorno
TRUE se o handler foi ativado ou libertado com sucesso.
Observações
Quando um handler está definido (ativado), o Windows Animation chama OnAnimationManagerStatusChanged quando o estado do gestor de animações muda.
CAnimationController::EnableAnimationTimerEventHandler
Define ou liberta um handler para eventos de temporização e um handler para atualizações de timings.
virtual BOOL EnableAnimationTimerEventHandler(
BOOL bEnable = TRUE,
UI_ANIMATION_IDLE_BEHAVIOR idleBehavior = UI_ANIMATION_IDLE_BEHAVIOR_DISABLE);
Parâmetros
bEnable
Especifica se deve colocar ou libertar os handlers.
idleBehavior
Especifica o comportamento inativo para o gestor de atualizações do temporizador.
Valor de retorno
TRUE se os handlers forem ativados ou libertados com sucesso; FALSE se este método for chamado pela segunda vez sem libertar primeiro os handlers, ou se ocorrer qualquer outro erro.
Observações
Quando os handlers estão definidos (ativados), a API de animação do Windows chama métodos OnAnimationTimerPreUpdate, OnAnimationTimerPostUpdate, OnRenderingTooSlow. Precisas de ativar temporizadores de animação para permitir que a API de animação do Windows atualize storyboards. Caso contrário, terá de ligar para o CAnimationController::UpdateAnimationManager para direcionar o gestor de animações a atualizar os valores de todas as variáveis de animação.
CAnimationController::EnablePriorityComparisonHandler
Define ou liberta o handler de comparação de prioridades para chamar e determinar se um storyboard agendado pode ser cancelado, concluído, cortado ou comprimido.
virtual BOOL EnablePriorityComparisonHandler(DWORD dwHandlerType);
Parâmetros
dwHandlerType
Uma combinação de UI_ANIMATION_PHT_ flags (ver observações), que especifica quais os handlers a definir ou libertar.
Valor de retorno
TRUE se o handler foi ativado ou libertado com sucesso.
Observações
Quando um handler é definido (ativado), o Windows Animation chama os seguintes métodos virtuais dependendo do dwHandlerType: OnHasPriorityCancel, OnHasPriorityConclude, OnHasPriorityTrim, OnHasPriorityCompress. dwHandler pode ser uma combinação das seguintes flags: UI_ANIMATION_PHT_NONE - libertar todos os handlers UI_ANIMATION_PHT_CANCEL - definir Cancelar manipulador de comparação UI_ANIMATION_PHT_CONCLUDE - definir Concluir o handler de comparação UI_ANIMATION_PHT_COMPRESS - definir Comprimir o handler de comparação UI_ANIMATION_PHT_TRIM - definir Trim o handler de comparação UI_ANIMATION_PHT_CANCEL_REMOVE - remover Cancelar o handler de comparação UI_ANIMATION_PHT_CONCLUDE_REMOVE - remover Concluir o handler de comparação UI_ANIMATION_PHT_COMPRESS_REMOVE - remover o manipulador de comparação Compress UI_ANIMATION_PHT_TRIM_REMOVE - remover o handler de comparação Trim
CAnimationController::EnableStoryboardEventHandler
Define ou liberta um handler para o estado do storyboard e atualizações de eventos.
virtual BOOL EnableStoryboardEventHandler(
UINT32 nGroupID,
BOOL bEnable = TRUE);
Parâmetros
nGroupID
Especifica o ID do grupo.
bEnable
Especifica se deve definir ou libertar um handler.
Valor de retorno
TRUE se o handler foi ativado ou libertado com sucesso; FALSE se o grupo de animação especificado for agora encontrado ou se a animação do grupo especificado não tiver sido iniciada e o seu storyboard interno for NULL.
Observações
Quando um handler está definido (ativado), a API de animação do Windows chama métodos virtuais OnStoryboardStatusChanges e OnStoryboardAtualizados. Um handler deve ser definido depois de CAnimationController::Animate ter sido chamado para o grupo de animação especificado, pois cria o objeto IUIAnimationStoryboard encapsulado.
CAnimationController::FindAnimationGroup
Encontra um grupo de animação pelo seu ID de grupo.
CAnimationGroup* FindAnimationGroup(UINT32 nGroupID);
CAnimationGroup* FindAnimationGroup(IUIAnimationStoryboard* pStoryboard);
Parâmetros
nGroupID
Especifica um GroupID.
pStoryboard
Um indicador para um storyboard.
Valor de retorno
Um apontador para o grupo de animação ou NULL se o grupo com ID especificado não for encontrado.
Observações
Use este método para encontrar um grupo de animação em tempo de execução. Um grupo é criado e adicionado à lista interna de grupos de animação quando um primeiro objeto de animação com um determinado GroupID está a ser adicionado ao controlador de animação.
CAnimationController::FindAnimationObject
Encontra um objeto de animação contendo uma variável de animação especificada.
BOOL FindAnimationObject(
IUIAnimationVariable* pVariable,
CAnimationBaseObject** ppObject,
CAnimationGroup** ppGroup);
Parâmetros
pVariável
Um apontador para a variável de animação.
ppObject
Saída. Contém um ponteiro para o objeto animation ou NULL.
ppGroup
Saída. Contém um apontador para o grupo de animação que contém o objeto de animação, ou NULL.
Valor de retorno
VERDADEIRO se o objeto foi encontrado; caso contrário, FALSO.
Observações
É chamado a partir de gestores de eventos quando é necessário encontrar um objeto de animação a partir da variável de animação recebida.
CAnimationController::gkeyframeStoryboard Start
Um keyframe que representa o início do storyboard.
static CBaseKeyFrame gkeyframeStoryboardStart;
CAnimationController::GetKeyframeStoryboard Start
Devolve um keyframe que identifica o início do storyboard.
static CBaseKeyFrame* GetKeyframeStoryboardStart();
Valor de retorno
Um apontador para o keyframe base, que identifica o início do storyboard.
Observações
Obtenha este keyframe para basear quaisquer outros keyframes ou transições no momento em que um storyboard começa.
CAnimationController::GetUIAnimationManager
Fornece acesso ao objeto IUIAnimationManager encapsulado.
IUIAnimationManager* GetUIAnimationManager();
Valor de retorno
Um ponteiro para a interface IUIAnimationManager ou NULL, caso a criação do gestor de animações falhasse.
Observações
Se o sistema operativo atual não suportar a API de animação do Windows, este método devolve NULL e, a partir daí, todas as chamadas subsequentes no CAnimationController::IsValid retornam FALSE. Pode precisar de aceder ao IUIAnimationManager para chamar os seus métodos de interface, que não são envolvidos pelo controlador de animação.
CAnimationController::GetUIAnimationTimer
Fornece acesso ao objeto IUIAnimationTimer encapsulado.
IUIAnimationTimer* GetUIAnimationTimer();
Valor de retorno
Um ponteiro para a interface IUIAnimationTimer ou NULL, caso a criação do temporizador de animação falhasse.
Observações
Se o sistema operativo atual não suportar a API de animação do Windows, este método devolve NULL e, a partir daí, todas as chamadas subsequentes no CAnimationController::IsValid retornam FALSE.
CAnimationController::GetUITransitionFactory
Um ponteiro para a interface IUIAnimationTransitionFactory ou NULL, caso a criação da biblioteca de transição falhasse.
IUIAnimationTransitionFactory* GetUITransitionFactory();
Valor de retorno
Um ponteiro para IUIAnimationTransitionFactory ou NULL, caso a criação da fábrica de transição falhasse.
Observações
Se o sistema operativo atual não suportar a API de animação do Windows, este método devolve NULL e, a partir daí, todas as chamadas subsequentes no CAnimationController::IsValid retornam FALSE.
CAnimationController::GetUITransitionLibrary
Fornece acesso ao objeto IUIAnimationTransitionLibrary encapsulado.
IUIAnimationTransitionLibrary* GetUITransitionLibrary();
Valor de retorno
Um ponteiro para a interface IUIAnimationTransitionLibrary ou NULL, caso a criação da biblioteca de transição falhasse.
Observações
Se o sistema operativo atual não suportar a API de animação do Windows, este método devolve NULL e, a partir daí, todas as chamadas subsequentes no CAnimationController::IsValid retornam FALSE.
CAnimationController::IsAnimationInProgress
Indica se pelo menos um grupo está a jogar animação.
virtual BOOL IsAnimationInProgress();
Valor de retorno
VERDADE, se houver uma animação em curso para este controlador de animação; caso contrário, FALSO.
Observações
Verifica o estado do gestor de animações e retorna TRUE se o estado for UI_ANIMATION_MANAGER_BUSY.
CAnimationController::IsValid
Indica se o controlador de animação é válido.
BOOL IsValid() const;
Valor de retorno
TRUE se o controlador de animação for válido; caso contrário, FALSO.
Observações
Este método só retorna FALSE se a API de animação do Windows não for suportada no sistema operativo atual e a criação do gestor de animações falhou porque não está registada. Tens de ligar para o GetUIAnimationManager pelo menos uma vez após a inicialização das bibliotecas COM para que esta flag seja ativada.
CAnimationController::m_bIsValid
Especifica se um controlador de animação é válido ou não. Este membro está definido para FALSE se o sistema operativo atual não suportar a API de animação do Windows.
BOOL m_bIsValid;
CAnimationController::m_lstAnimationGroups
Uma lista dos grupos de animação que pertencem a este controlador de animação.
CList<CAnimationGroup*, CAnimationGroup*> m_lstAnimationGroups;
CAnimationController::m_pAnimationManager
Armazena um ponteiro para o objeto COM do Animation Manager.
ATL::CComPtr<IUIAnimationManager> m_pAnimationManager;
CAnimationController::m_pAnimationTimer
Armazena um apontador para o objeto COM do Temporizador de Animação.
ATL::CComPtr<IUIAnimationTimer> m_pAnimationTimer;
CAnimationController::m_pRelatedWnd
Um apontador para um objeto CWnd relacionado, que pode ser redesenhado automaticamente quando o estado do gestor de animações mudou, ou ocorre um evento pós-atualização. Pode ser NULL.
CWnd* m_pRelatedWnd;
CAnimationController::m_pTransitionFactory
Armazena um apontador para o objeto COM do Transition Factory.
ATL::CComPtr<IUIAnimationTransitionFactory> m_pTransitionFactory;
CAnimationController::m_pTransitionLibrary
Armazena um ponteiro para o objeto COM da Biblioteca de Transição.
ATL::CComPtr<IUIAnimationTransitionLibrary> m_pTransitionLibrary;
CAnimationController::OnAfterSchedule
Chamada pelo framework quando uma animação para o grupo especificado acaba de ser agendada.
virtual void OnAfterSchedule(CAnimationGroup* pGroup);
Parâmetros
pGroup
Um apontamento para um grupo de animação, que já foi agendado.
Observações
A implementação padrão remove os keyframes do grupo especificado e faz transições das variáveis de animação que pertencem ao grupo especificado. Pode ser anulado numa classe derivada para realizar quaisquer ações adicionais no calendário de animação.
CAnimationController::OnAnimationIntegerValueChanged
Chamado pelo framework quando o valor inteiro da variável de animação mudou.
virtual void OnAnimationIntegerValueChanged(
CAnimationGroup* pGroup,
CAnimationBaseObject* pObject,
IUIAnimationVariable* variable,
INT32 newValue,
INT32 prevValue);
Parâmetros
pGroup
Um apontador para um grupo de animação que contém um objeto de animação cujo valor mudou.
pObject
Um apontador para um objeto de animação que contém uma variável de animação cujo valor mudou.
variable
Um apontador para uma variável de animação.
newValue
Especifica novo valor.
prevValue
Especifica o valor anterior.
Observações
Este método chama-se se ativar eventos de variáveis de animação com EnableIntegerValueChangedEvent chamado para uma variável de animação específica ou objeto de animação. Pode ser sobreposto numa classe derivada para realizar ações específicas da aplicação.
CAnimationController::OnAnimationManagerStatusAlterado
Chamado pelo framework em resposta ao evento StatusChanged do gestor de animações.
virtual void OnAnimationManagerStatusChanged(
UI_ANIMATION_MANAGER_STATUS newStatus,
UI_ANIMATION_MANAGER_STATUS previousStatus);
Parâmetros
novo Estado
Novo estado de gestor de animação.
estado anterior
Estado anterior do gestor de animação.
Observações
Este método é chamado se ativar eventos do gestor de animação com o EnableAnimationManagerEvent. Pode ser sobreposto numa classe derivada para realizar ações específicas da aplicação. A implementação padrão atualiza uma janela relacionada se tiver sido definida com SetRelatedWnd.
CAnimationController::OnAnimationTimerPostUpdate
É chamado pelo framework depois de terminar uma atualização de animação.
virtual void OnAnimationTimerPostUpdate();
Observações
Este método é chamado se ativar os gestores de eventos do temporizador usando o EnableAnimationTimerEventHandler. Pode ser sobreposto numa classe derivada para realizar ações específicas da aplicação.
CAnimationController::OnAnimationTimerPreUpdate
É chamado pelo framework antes de começar uma atualização de animação.
virtual void OnAnimationTimerPreUpdate();
Observações
Este método é chamado se ativar os gestores de eventos do temporizador usando o EnableAnimationTimerEventHandler. Pode ser sobreposto numa classe derivada para realizar ações específicas da aplicação.
CAnimationController::OnAnimationTimeTimeRRenderingTooSlow
Chamada pelo framework quando a taxa de fotogramas de renderização de uma animação cai abaixo de uma taxa mínima desejável.
virtual void OnAnimationTimerRenderingTooSlow(UINT32 fps);
Parâmetros
FPS
A taxa de frames atual em frames por segundo.
Observações
Este método é chamado se ativar os gestores de eventos do temporizador usando o EnableAnimationTimerEventHandler. Pode ser sobreposto numa classe derivada para realizar ações específicas da aplicação. A taxa de fotogramas mínima desejada é especificada chamando IUIAnimationTimer::SetFrameRateThreshold.
CAnimationController::OnAnimationValueChanged
Chamada pelo framework quando o valor da variável de animação mudou.
virtual void OnAnimationValueChanged(
CAnimationGroup* pGroup,
CAnimationBaseObject* pObject,
IUIAnimationVariable* variable,
DOUBLE newValue,
DOUBLE prevValue);
Parâmetros
pGroup
Um apontador para um grupo de animação que contém um objeto de animação cujo valor mudou.
pObject
Um apontador para um objeto de animação que contém uma variável de animação cujo valor mudou.
variable
Um apontador para uma variável de animação.
newValue
Especifica novo valor.
prevValue
Especifica o valor anterior.
Observações
Este método chama-se se ativar eventos de variáveis de animação com o EnableValueChangedEvent chamado para uma variável de animação específica ou objeto de animação. Pode ser sobreposto numa classe derivada para realizar ações específicas da aplicação.
CAnimationController::OnBeforeAnimationStart
Chamado pela framework mesmo antes da animação ser agendada.
virtual void OnBeforeAnimationStart(CAnimationGroup* pGroup);
Parâmetros
pGroup
Um apontar para um grupo de animação cuja animação está prestes a começar.
Observações
Esta chamada é encaminhada para CWnd relacionada e pode ser sobreposta numa classe derivada para realizar quaisquer ações adicionais antes do início da animação para o grupo especificado.
CAnimationController::OnHasPriorityCancel
Chamado pelo framework para resolver conflitos de agendamento.
virtual BOOL OnHasPriorityCancel(
CAnimationGroup* pGroupScheduled,
CAnimationGroup* pGroupNew,
UI_ANIMATION_PRIORITY_EFFECT priorityEffect);
Parâmetros
pGroupScheduled
O grupo que detém o storyboard atualmente agendado.
pGroupNew
O grupo que detém o novo storyboard está em conflito de agenda com o storyboard agendado pertencente ao pGroupScheduled.
prioridadeEfeito
O efeito potencial no pGroupNew se o pGroupScheduled tiver uma prioridade superior.
Valor de retorno
Deverá voltar VERDADEIRO se o storyboard pertencente ao pGroupNew tiver prioridade. Deve devolver FALSE se o storyboard pertencente ao pGroupScheduled tiver prioridade.
Observações
Este método é chamado se ativar eventos de comparação de prioridades usando CAnimationController::EnablePriorityComparisonHandler e especificar UI_ANIMATION_PHT_CANCEL. Pode ser sobreposto numa classe derivada para realizar ações específicas da aplicação. Leia a documentação da API de animação do Windows para mais informações sobre Gestão de Conflitos.
CAnimationController::OnHasPriorityCompress
Chamado pelo framework para resolver conflitos de agendamento.
virtual BOOL OnHasPriorityCompress(
CAnimationGroup* pGroupScheduled,
CAnimationGroup* pGroupNew,
UI_ANIMATION_PRIORITY_EFFECT priorityEffect);
Parâmetros
pGroupScheduled
O grupo que detém o storyboard atualmente agendado.
pGroupNew
O grupo que detém o novo storyboard está em conflito de agenda com o storyboard agendado pertencente ao pGroupScheduled.
prioridadeEfeito
O efeito potencial no pGroupNew se o pGroupScheduled tiver uma prioridade superior.
Valor de retorno
Deverá voltar VERDADEIRO se o storyboard pertencente ao pGroupNew tiver prioridade. Deve devolver FALSE se o storyboard pertencente ao pGroupScheduled tiver prioridade.
Observações
Este método é chamado se ativar eventos de comparação de prioridades usando CAnimationController::EnablePriorityComparisonHandler e especificar UI_ANIMATION_PHT_COMPRESS. Pode ser sobreposto numa classe derivada para realizar ações específicas da aplicação. Leia a documentação da API de animação do Windows para mais informações sobre Gestão de Conflitos.
CAnimationController::OnHasPriorityConclude
Chamado pelo framework para resolver conflitos de agendamento.
virtual BOOL OnHasPriorityConclude(
CAnimationGroup* pGroupScheduled,
CAnimationGroup* pGroupNew,
UI_ANIMATION_PRIORITY_EFFECT priorityEffect);
Parâmetros
pGroupScheduled
O grupo que detém o storyboard atualmente agendado.
pGroupNew
O grupo que detém o novo storyboard está em conflito de agenda com o storyboard agendado pertencente ao pGroupScheduled.
prioridadeEfeito
O efeito potencial no pGroupNew se o pGroupScheduled tiver uma prioridade superior.
Valor de retorno
Deverá voltar VERDADEIRO se o storyboard pertencente ao pGroupNew tiver prioridade. Deve devolver FALSE se o storyboard pertencente ao pGroupScheduled tiver prioridade.
Observações
Este método é chamado se ativar eventos de comparação de prioridades usando CAnimationController::EnablePriorityComparisonHandler e especificar UI_ANIMATION_PHT_CONCLUDE. Pode ser sobreposto numa classe derivada para realizar ações específicas da aplicação. Leia a documentação da API de animação do Windows para mais informações sobre Gestão de Conflitos.
CAnimationController::OnHasPriorityTrim
Chamado pelo framework para resolver conflitos de agendamento.
virtual BOOL OnHasPriorityTrim(
CAnimationGroup* pGroupScheduled,
CAnimationGroup* pGroupNew,
UI_ANIMATION_PRIORITY_EFFECT priorityEffect);
Parâmetros
pGroupScheduled
O grupo que detém o storyboard atualmente agendado.
pGroupNew
O grupo que detém o novo storyboard está em conflito de agenda com o storyboard agendado pertencente ao pGroupScheduled.
prioridadeEfeito
O efeito potencial no pGroupNew se o pGroupScheduled tiver uma prioridade superior.
Valor de retorno
Deverá voltar VERDADEIRO se o storyboard pertencente ao pGroupNew tiver prioridade. Deve devolver FALSE se o storyboard pertencente ao pGroupScheduled tiver prioridade.
Observações
Este método é chamado se ativar eventos de comparação de prioridades usando CAnimationController::EnablePriorityComparisonHandler e especificar UI_ANIMATION_PHT_TRIM. Pode ser sobreposto numa classe derivada para realizar ações específicas da aplicação. Leia a documentação da API de animação do Windows para mais informações sobre Gestão de Conflitos.
ControladorDeCAnimação::EmEstadoStoryboard Alterado
É chamado pelo framework quando o estado do storyboard mudou.
virtual void OnStoryboardStatusChanged(
CAnimationGroup* pGroup,
UI_ANIMATION_STORYBOARD_STATUS newStatus,
UI_ANIMATION_STORYBOARD_STATUS previousStatus);
Parâmetros
pGroup
Uma referência a um grupo de animação que detém o storyboard cujo estatuto mudou.
novo Estado
Especifica o novo estatuto.
estado anterior
Especifica o estado anterior.
Observações
Este método é chamado se ativar eventos de storyboard usando CAnimationController::EnableStoryboardEventHandler. Pode ser sobreposto numa classe derivada para realizar ações específicas da aplicação.
CAnimationController::OnStoryboardAtualizado
É chamado pelo framework quando o storyboard é atualizado.
virtual void OnStoryboardUpdated(CAnimationGroup* pGroup);
Parâmetros
pGroup
Uma indicação para um grupo que detém o storyboard.
Observações
Este método é chamado se ativar eventos de storyboard usando CAnimationController::EnableStoryboardEventHandler. Pode ser sobreposto numa classe derivada para realizar ações específicas da aplicação.
CAnimationController::RemoveAllAnimationGroups
Remove todos os grupos de animação do controlador de animação.
void RemoveAllAnimationGroups();
Observações
Todos os grupos serão eliminados, e o seu ponteiro, se armazenado ao nível da aplicação, deve ser invalidado. Se CAnimationGroup::m_bAutodestroyAnimationObjects para um grupo a ser eliminado for TRUE, todos os objetos de animação que pertencem a esse grupo serão eliminados; caso contrário, as suas referências ao controlador de animação principal serão definidas como NULL e podem ser adicionadas a outro controlador.
CAnimationController::RemoveAnimationGroup
Remove um grupo de animação com ID especificado do controlador de animação.
void RemoveAnimationGroup(UINT32 nGroupID);
Parâmetros
nGroupID
Especifica o ID do grupo de animação.
Observações
Este método remove um grupo de animação da lista interna de grupos e elimina-o, portanto, se armazenou um ponteiro para esse grupo de animação, deve ser invalidado. Se CAnimationGroup::m_bAutodestroyAnimationObjects for TRUE, todos os objetos de animação que pertencem a esse grupo serão eliminados; caso contrário, as suas referências ao controlador de animação principal serão definidas como NULL e podem ser adicionadas a outro controlador.
CAnimationController::RemoveAnimationObject
Remover um objeto de animação do controlador de animação.
void RemoveAnimationObject(
CAnimationBaseObject* pObject,
BOOL bNoDelete = FALSE);
Parâmetros
pObject
Um apontador para um objeto de animação.
bNoDelete
Se este parâmetro for VERDADEIRO, o objeto não será eliminado ao ser removido.
Observações
Remove um objeto de animação do controlador de animação e do grupo de animação. Chame esta função se um determinado objeto já não deve ser animado, ou se precisar de mover o objeto para outro controlador de animação. No último caso, o bNoDelete tem de ser VERDADEIRO.
CAnimationController::RemoveTransitions
Remove transições de objetos de animação que pertencem ao grupo especificado.
void RemoveTransitions(UINT32 nGroupID);
Parâmetros
nGroupID
Especifica o ID do grupo.
Observações
O grupo repete os seus objetos de animação e chama ClearTransitions(FALSE) para cada objeto de animação. Este método é chamado pelo framework após a animação ter sido agendada.
CAnimationController::ScheduleGroup
Agenda uma animação.
BOOL ScheduleGroup(
UINT32 nGroupID,
UI_ANIMATION_SECONDS time = 0.0);
Parâmetros
nGroupID
Especifica o ID do Grupo de Animação para agendar.
time
Especifica o horário para agendar.
Valor de retorno
VERDADE se a animação foi programada com sucesso. FALSE se o storyboard não tiver sido criado, ou se ocorrer outro erro.
Observações
Deve chamar o AnimateGroup com o parâmetro bScheduleNow definido como FALSE prior ScheduleGroup. Pode especificar o tempo de animação desejado obtido através do IUIAnimationTimer::GetTime. Se o parâmetro de tempo for 0.0, a animação é agendada para o tempo atual.
CAnimationController::SetRelatedWnd
Estabelece uma relação entre o controlador de animação e uma janela.
void SetRelatedWnd(CWnd* pWnd);
Parâmetros
pWnd
Um ponteiro para o objeto janela para definir.
Observações
Se um objeto CWnd relacionado estiver definido, o controlador de animação pode atualizá-lo automaticamente (enviar WM_PAINT mensagem) quando o estado do gestor de animações mudou ou ocorreu um evento de temporizador pós-atualização.
CAnimationController::UpdateAnimationManager
Orienta o gestor de animações a atualizar os valores de todas as variáveis de animação.
virtual void UpdateAnimationManager();
Observações
Chamar este método avança o gestor de animação para o tempo atual, alterando os estados dos storyboards conforme necessário e atualizando quaisquer variáveis de animação para valores interpolados apropriados. Internamente, este método chama IUIAnimationTimer::GetTime(timeNow) e IUIAnimationManager::Update(timeNow). Sobrescreva este método numa classe derivada para personalizar este comportamento.