Compartilhar via


Classe CAnimationBaseObject

A classe base para todos os objetos de animação.

Sintaxe

class CAnimationBaseObject : public CObject;

Membros

Construtores públicos

Nome Descrição
CAnimationBaseObject::CAnimationBaseObject Sobrecarregado. Constrói um objeto de animação.
CAnimationBaseObject::~CAnimationBaseObject O destruidor. Chamado quando um objeto de animação está sendo destruído.

Métodos públicos

Nome Descrição
CAnimationBaseObject::ApplyTransitions Adiciona transições ao storyboard com variável de animação encapsulada.
CAnimationBaseObject::ClearTransitions Remove todas as transições relacionadas.
CAnimationBaseObject::ContainsVariable Determina se um objeto de animação contém uma variável de animação específica.
CAnimationBaseObject::CreateTransitions Cria transições associadas a um objeto de animação.
CAnimationBaseObject::DetachFromController Desanexa um objeto de animação do controlador de animação pai.
CAnimationBaseObject::EnableIntegerValueChangedEvent Configura o manipulador de eventos Valor Inteiro Alterado.
CAnimationBaseObject::EnableValueChangedEvent Configura o manipulador de eventos Valor Alterado.
CAnimationBaseObject::GetAutodestroyTransitions Informa se a transição relacionada é destruída automaticamente.
CAnimationBaseObject::GetGroupID Retorna o ID do Grupo atual.
CAnimationBaseObject::GetObjectID Retorna o ID do Objeto atual.
CAnimationBaseObject::GetUserData Retorna dados definidos pelo usuário.
CAnimationBaseObject::SetAutodestroyTransitions Define um sinalizador para destruir automaticamente as transições.
CAnimationBaseObject::SetID Define novas IDs.
CAnimationBaseObject::SetUserData Define dados definidos pelo usuário.

Métodos protegidos

Nome Descrição
CAnimationBaseObject::GetAnimationVariableList Coleta ponteiros para variáveis de animação contidas.
CAnimationBaseObject::SetParentAnimationObjects Estabelece a relação entre variáveis de animação, contidas em um objeto de animação e seu contêiner.

Membros de dados protegidos

Nome Descrição
CAnimationBaseObject::m_bAutodestroyTransitions Especifica se as transições relacionadas devem ser destruídas automaticamente.
CAnimationBaseObject::m_dwUserData Armazena dados definidos pelo usuário.
CAnimationBaseObject::m_nGroupID Especifica a ID de grupo do objeto de animação.
CAnimationBaseObject::m_nObjectID Especifica a ID do objeto de animação.
CAnimationBaseObject::m_pParentController Um ponteiro para o controlador de animação pai.

Comentários

Essa classe implementa métodos básicos para todos os objetos de animação. Um objeto de animação pode representar um valor, um ponto, um tamanho, um retângulo ou uma cor em um aplicativo, bem como qualquer entidade personalizada. Objetos de animação são armazenados em grupos de animação (confira CAnimationGroup). Cada grupo pode ser animado separadamente e pode ser tratado como um análogo do storyboard. Um objeto de animação encapsula uma ou mais variáveis de animação (confira CAnimationVariable), dependendo de sua representação lógica. Por exemplo, CAnimationRect contém quatro variáveis de animação: uma variável para cada lado do retângulo. Cada classe de objeto de animação expõe o método AddTransition sobrecarregado, que deve ser usado para aplicar transições a variáveis de animação encapsuladas. Um objeto de animação pode ser identificado pela ID do Objeto (opcionalmente) e pela ID do Grupo. Uma ID de Grupo é necessária para colocar um objeto de animação para corrigir o grupo, mas se uma ID de Grupo não for especificada, um objeto será colocado no grupo padrão com a ID 0. Se você chamar SetID com GroupID diferente, um objeto de animação será movido para outro grupo (um novo grupo será criado, se necessário).

Hierarquia de herança

CObject

CAnimationBaseObject

Requisitos

Cabeçalho: afxanimationcontroller.h

CAnimationBaseObject::~CAnimationBaseObject

O destruidor. Chamado quando um objeto de animação está sendo destruído.

virtual ~CAnimationBaseObject();

CAnimationBaseObject::ApplyTransitions

Adiciona transições ao storyboard com variável de animação encapsulada.

virtual BOOL ApplyTransitions(
    IUIAnimationStoryboard* pStoryboard,
    BOOL bDependOnKeyframes);

Parâmetros

pStoryboard
Um ponteiro para um storyboard.

bDependOnKeyframes
Quando FALSE, esse método adiciona somente as transições que não dependem de quadros-chave.

Valor de retorno

TRUE se as transições foram adicionadas com êxito.

Comentários

Adiciona transições relacionadas, que foram adicionadas com AddTransition (métodos sobrecarregados em classes derivadas), ao storyboard.

CAnimationBaseObject::CAnimationBaseObject

Constrói um objeto de animação.

CAnimationBaseObject();

CAnimationBaseObject(
    UINT32 nGroupID,
    UINT32 nObjectID = (UINT32)-1,
    DWORD dwUserData = 0);

Parâmetros

nGroupID
Especifica a ID do Grupo.

nObjectID
Especifica a ID do objeto.

dwUserData
Dados definidos pelo usuário, que podem ser associados ao objeto de animação e recuperados posteriormente no runtime.

Comentários

Constrói um objeto de animação e atribui a ID de Objeto padrão (0) e A ID do Grupo (0).

CAnimationBaseObject::ClearTransitions

Remove todas as transições relacionadas.

virtual void ClearTransitions(BOOL bAutodestroy);

Parâmetros

bAutodestroy
Especifica se os objetos de transição devem ser destruídos automaticamente ou apenas removidos da lista relacionada.

Comentários

Remove todas as transições relacionadas e as destrói se o sinalizador bAutodestroy ou m_bAutodestroyTransitions for VERDADEIRO. As transições devem ser destruídas automaticamente somente se não estiverem alocadas na pilha. Se os sinalizadores acima forem FALSE, as transições serão removidas da lista interna de transições relacionadas.

CAnimationBaseObject::ContainsVariable

Determina se um objeto de animação contém uma variável de animação específica.

virtual BOOL ContainsVariable(IUIAnimationVariable* pVariable);

Parâmetros

pVariable
Um ponteiro para a variável de animação.

Valor de retorno

TRUE se a variável de animação estiver contida no objeto de animação; caso contrário, FALSE.

Comentários

Esse método pode ser usado para determinar se uma variável de animação especificada por pVariable está contida em um objeto de animação. Um objeto de animação, dependendo de seu tipo, pode conter diversas variáveis de animação. Por exemplo, CAnimationColor contém três variáveis, uma para cada componente de cor (vermelho, verde e azul). Quando um valor da variável de animação é alterado, a API de Animação do Windows envia eventos ValueChanged ou IntegerValueChanged (se habilitado) e o parâmetro desse evento é um ponteiro para a interface IUIAnimationVariable da variável de animação. Esse método ajuda a obter um ponteiro para a animação de um ponteiro para o objeto COM contido.

CAnimationBaseObject::CreateTransitions

Cria transições associadas a um objeto de animação.

BOOL CreateTransitions();

Valor de retorno

TRUE se a transição foi criada com êxito; caso contrário, FALSE.

Comentários

Faz loops sobre a lista de variáveis de animação encapsuladas em um objeto de animação derivada e cria transições associadas a cada variável de animação.

CAnimationBaseObject::DetachFromController

Desanexa um objeto de animação do controlador de animação pai.

void DetachFromController();

Comentários

Esse método é usado internamente.

CAnimationBaseObject::EnableIntegerValueChangedEvent

Configura o manipulador de eventos Valor Inteiro Alterado.

virtual void EnableIntegerValueChangedEvent(
    CAnimationController* pController,
    BOOL bEnable);

Parâmetros

pController
Um ponteiro para um controlador pai.

bEnable
Especifica se o evento Valor Inteiro Alterado deve ser habilitado ou desabilitado.

Comentários

Se o manipulador de eventos Valor Inteiro Alterado estiver habilitado, você poderá manipular esse evento no método CAnimationController::OnAnimationIntegerValueChanged, que deve ser substituído em uma classe derivada de CAnimationController. Esse método é chamado sempre que o valor inteiro da animação é alterado.

CAnimationBaseObject::EnableValueChangedEvent

Configura o manipulador de eventos Valor Alterado.

virtual void EnableValueChangedEvent(
    CAnimationController* pController,
    BOOL bEnable);

Parâmetros

pController
Um ponteiro para um controlador pai.

bEnable
Especifica se o evento Value Changed deve ser habilitado ou desabilitado.

Comentários

Se o manipulador de eventos Value Changed estiver habilitado, você poderá manipular esse evento no método CAnimationController::OnAnimationValueChanged, que deve ser substituído em uma classe derivada de CAnimationController. Esse método é chamado sempre que o valor da animação é alterado.

CAnimationBaseObject::GetAnimationVariableList

Coleta ponteiros para variáveis de animação contidas.

virtual void GetAnimationVariableList(
    CList<CAnimationVariable*,
    CAnimationVariable*>& list) = 0;

Parâmetros

lista
Uma lista que deve ser preenchida com variáveis de animação contidas em um objeto de animação.

Comentários

Esse método virtual puro deve ser substituído em uma classe derivada. Um objeto de animação, dependendo de seu tipo, contém uma ou mais variáveis de animação. Por exemplo, CAnimationPoint contém duas variáveis, para coordenadas X e Y, respectivamente. A classe base CAnimationBaseObject implementa alguns métodos genéricos, que atuam em uma lista de variáveis de animação: ApplyTransitions, ClearTransitions, EnableValueChangedEvent, EnableIntegerValueChangedEvent. Esses métodos chamam GetAnimationVariableList, que é preenchido em uma classe derivada com variáveis de animação reais contidas em um objeto de animação específico, então fazem um loop pela lista e executam as ações necessárias. Se você criar um objeto de animação personalizado, deverá adicionar à lista todas as variáveis de animação contidas nesse objeto.

CAnimationBaseObject::GetAutodestroyTransitions

Informa se a transição relacionada é destruída automaticamente.

BOOL GetAutodestroyTransitions() const;

Valor de retorno

Se TRUE, as transições relacionadas serão destruídas automaticamente; se FALSE, os objetos de transição devem ser desalocados chamando o aplicativo.

Comentários

Por padrão, esse sinalizador é TRUE. Defina esse sinalizador somente se você tiver alocado a transição na pilha e/ou as transições precisarem ser desalocadas pelo aplicativo de chamada.

CAnimationBaseObject::GetGroupID

Retorna o ID do Grupo atual.

UINT32 GetGroupID() const;

Valor de retorno

ID do grupo atual.

Comentários

Use esse método para recuperar a ID do Grupo. Será 0 se a ID do Grupo não tiver sido definida explicitamente no construtor ou com SetID.

CAnimationBaseObject::GetObjectID

Retorna o ID do Objeto atual.

UINT32 GetObjectID() const;

Valor de retorno

ID do objeto atual.

Comentários

Use esse método para recuperar a ID do objeto. Será 0 se a ID do Objeto não tiver sido definida explicitamente no construtor ou com SetID.

CAnimationBaseObject::GetUserData

Retorna dados definidos pelo usuário.

DWORD GetUserData() const;

Valor de retorno

Um valor de dados personalizados.

Comentários

Chame esse método para recuperar os dados personalizados no runtime. O valor retornado será 0 se não tiver sido inicializado explicitamente no construtor ou com SetUserData.

CAnimationBaseObject::m_bAutodestroyTransitions

Especifica se as transições relacionadas devem ser destruídas automaticamente.

BOOL m_bAutodestroyTransitions;

CAnimationBaseObject::m_dwUserData

Armazena dados definidos pelo usuário.

DWORD m_dwUserData;

CAnimationBaseObject::m_nGroupID

Especifica a ID de grupo do objeto de animação.

UINT32 m_nGroupID;

CAnimationBaseObject::m_nObjectID

Especifica a ID do objeto de animação.

UINT32 m_nObjectID;

CAnimationBaseObject::m_pParentController

Um ponteiro para o controlador de animação pai.

CAnimationController* m_pParentController;

CAnimationBaseObject::SetAutodestroyTransitions

Define um sinalizador para destruir automaticamente as transições.

void SetAutodestroyTransitions(BOOL bValue);

Parâmetros

bValue
Especifica o sinalizador de destruição automática.

Comentários

Defina esse sinalizador somente se você tiver alocado objetos de transição usando o operador new. Se, por algum motivo, os objetos de transição forem alocados na pilha, o sinalizador de destruição automática deverá ser FALSE. Por padrão, esse sinalizador é TRUE.

CAnimationBaseObject::SetID

Define novas IDs.

void SetID(
    UINT32 nObjectID,
    UINT32 nGroupID = 0);

Parâmetros

nObjectID
Especifica a nova ID do objeto.

nGroupID
Especifica a nova ID do Grupo.

Comentários

Permite alterar a ID do objeto e a ID do grupo. Se a nova ID do Grupo for diferente da ID atual, um objeto de animação será movido para outro grupo (um grupo será criado, se necessário).

CAnimationBaseObject::SetParentAnimationObjects

Estabelece a relação entre variáveis de animação, contidas em um objeto de animação e seu contêiner.

virtual void SetParentAnimationObjects();

Comentários

Esse auxiliar pode ser usado para estabelecer uma relação entre variáveis de animação contidas em um objeto de animação e seu contêiner. Ele faz loop sobre variáveis de animação e define um ponteiro de voltar para um objeto de animação pai para cada variável de animação. Na implementação atual, a relação real é estabelecida em CAnimationBaseObject::ApplyTransitions, portanto, os ponteiros de voltar não são definidos até que você chame CAnimationGroup::Animate. Saber a relação pode ser útil quando você processa eventos e precisa obter um objeto de animação pai de CAnimationVariable. Use CAnimationVariable::GetParentAnimationObject.

CAnimationBaseObject::SetUserData

Define dados definidos pelo usuário.

void SetUserData (DWORD dwUserData);

Parâmetros

dwUserData
Especifica os dados personalizados.

Comentários

Use esse método para associar dados personalizados a um objeto de animação. Esses dados podem ser recuperados posteriormente no runtime por GetUserData.

Confira também

Classes