CAnimationController (clase)
Implementa el controlador de animación, que proporciona una interfaz central para crear y administrar las animaciones.
Sintaxis
class CAnimationController : public CObject;
Miembros
Constructores públicos
Nombre | Descripción |
---|---|
CAnimationController::CAnimationController | Construye un controlador de animación. |
CAnimationController::~CAnimationController | El destructor . Se llama cuando se va a destruir el objeto de controlador de animación. |
Métodos públicos
Nombre | Descripción |
---|---|
CAnimationController::AddAnimationObject | Agrega un objeto de animación a un grupo que pertenece al controlador de animación. |
CAnimationController::AddKeyframeToGroup | Agrega un fotograma clave al grupo. |
CAnimationController::AnimateGroup | Prepara un grupo para ejecutar la animación y, opcionalmente, la programa. |
CAnimationController::CleanUpGroup | Con sobrecarga. Lo llama el marco para limpiar el grupo cuando se ha programado la animación. |
CAnimationController::CreateKeyframe | Con sobrecarga. Crea un fotograma clave que depende de la transición y lo agrega al grupo especificado. |
CAnimationController::EnableAnimationManagerEvent | Establece o libera un controlador al que llamar cuando cambia el estado del administrador de animaciones. |
CAnimationController::EnableAnimationTimerEventHandler | Establece o libera un controlador para eventos de temporización y otro para actualizaciones de temporización. |
CAnimationController::EnablePriorityComparisonHandler | Establece o libera el controlador de comparación de prioridad al que llamar para determinar si un guion gráfico programado se puede cancelar, concluir, recortar o comprimir. |
CAnimationController::EnableStoryboardEventHandler | Establece o libera un controlador para los eventos de estado y actualización del guion gráfico. |
CAnimationController::FindAnimationGroup | Con sobrecarga. Busca un grupo de animaciones por su guion gráfico. |
CAnimationController::FindAnimationObject | Busca el objeto de animación que contiene una variable de animación especificada. |
CAnimationController::GetKeyframeStoryboardStart | Devuelve un fotograma clave que identifica el inicio del guion gráfico. |
CAnimationController::GetUIAnimationManager | Proporciona acceso al objeto IUIAnimationManager encapsulado. |
CAnimationController::GetUIAnimationTimer | Proporciona acceso al objeto IUIAnimationTimer encapsulado. |
CAnimationController::GetUITransitionFactory | Puntero a la interfaz IUIAnimationTransitionFactory o NULL, si se ha producido un error en la creación de la biblioteca de transiciones. |
CAnimationController::GetUITransitionLibrary | Proporciona acceso al objeto IUIAnimationTransitionLibrary encapsulado. |
CAnimationController::IsAnimationInProgress | Indica si al menos un grupo está reproduciendo la animación. |
CAnimationController::IsValid | Indica si el controlador de animación es válido. |
CAnimationController::OnAnimationIntegerValueChanged | Lo llama el marco cuando el valor entero de la variable de animación ha cambiado. |
CAnimationController::OnAnimationManagerStatusChanged | Lo llama el marco en respuesta al evento StatusChanged del administrador de animaciones. |
CAnimationController::OnAnimationTimerPostUpdate | Lo llama el marco una vez finalizada una actualización de animación. |
CAnimationController::OnAnimationTimerPreUpdate | Lo llama el marco antes de que comience una actualización de animación. |
CAnimationController::OnAnimationTimerRenderingTooSlow | Lo llama el marco cuando la velocidad de fotogramas que se presenta en una animación cae por debajo de una velocidad de fotogramas mínima deseada. |
CAnimationController::OnAnimationValueChanged | Lo llama el marco cuando el valor de la variable de animación ha cambiado. |
CAnimationController::OnBeforeAnimationStart | Lo llama el marco justo antes de programar la animación. |
CAnimationController::OnHasPriorityCancel | Lo llama el marco para resolver los conflictos de programación. |
CAnimationController::OnHasPriorityCompress | Lo llama el marco para resolver los conflictos de programación. |
CAnimationController::OnHasPriorityConclude | Lo llama el marco para resolver los conflictos de programación. |
CAnimationController::OnHasPriorityTrim | Lo llama el marco para resolver los conflictos de programación. |
CAnimationController::OnStoryboardStatusChanged | Lo llama el marco cuando el estado del guion gráfico ha cambiado. |
CAnimationController::OnStoryboardUpdated | Lo llama el marco cuando se ha actualizado el guion gráfico. |
CAnimationController::RemoveAllAnimationGroups | Quita todos los grupos de animaciones del controlador de animación. |
CAnimationController::RemoveAnimationGroup | Quita un grupo de animaciones con el identificador especificado del controlador de animación. |
CAnimationController::RemoveAnimationObject | Quita un objeto de animación del controlador de animación. |
CAnimationController::RemoveTransitions | Quita las transiciones de los objetos de animación que pertenecen al grupo especificado. |
CAnimationController::ScheduleGroup | Programa una animación. |
CAnimationController::SetRelatedWnd | Establece una relación entre el controlador de animación y una ventana. |
CAnimationController::UpdateAnimationManager | Indica al administrador de animaciones que actualice los valores de todas las variables de animación. |
Métodos protegidos
Nombre | Descripción |
---|---|
CAnimationController::CleanUpGroup | Con sobrecarga. Asistente que limpia el grupo. |
CAnimationController::OnAfterSchedule | Lo llama el marco cuando se acaba de programar una animación del grupo especificado. |
Miembros de datos protegidos
Nombre | Descripción |
---|---|
CAnimationController::gkeyframeStoryboardStart | Fotograma clave que representa el inicio del guion gráfico. |
CAnimationController::m_bIsValid | Especifica si un controlador de animación es válido o no. Este miembro se establece en FALSE si el sistema operativo actual no admite la API de animación de Windows. |
CAnimationController::m_lstAnimationGroups | Lista de grupos de animaciones que pertenecen a este controlador de animación. |
CAnimationController::m_pAnimationManager | Almacena un puntero al objeto COM del administrador de animaciones. |
CAnimationController::m_pAnimationTimer | Almacena un puntero al objeto COM del temporizador de animaciones. |
CAnimationController::m_pRelatedWnd | Puntero a un objeto CWnd relacionado que se puede volver a dibujar automáticamente cuando el estado del administrador de animaciones ha cambiado o se ha producido un evento posterior a la actualización. Puede ser NULL. |
CAnimationController::m_pTransitionFactory | Almacena un puntero al objeto COM de la fábrica de transiciones. |
CAnimationController::m_pTransitionLibrary | Almacena un puntero al objeto COM de la biblioteca de transiciones. |
Comentarios
La clase CAnimationController es la clase clave que administra las animaciones. Puede crear una o varias instancias del controlador de animación en una aplicación y, opcionalmente, conectar una instancia del controlador de animación a un objeto CWnd mediante CAnimationController::SetRelatedWnd. Esta conexión es necesaria para enviar mensajes WM_PAINT a la ventana relacionada automáticamente cuando el estado del administrador de animaciones ha cambiado o se ha actualizado el temporizador de animación. Si no habilita esta relación, debe volver a dibujar una ventana que muestre una animación manualmente. Para este fin, puede derivar una clase de CAnimationController e invalidar OnAnimationManagerStatusChanged o OnAnimationTimerPostUpdate e invalidar una o varias ventanas cuando sea necesario.
Jerarquía de herencia
CAnimationController
Requisitos
Encabezado: afxanimationcontroller.h
CAnimationController::~CAnimationController
El destructor . Se llama cuando se va a destruir el objeto de controlador de animación.
virtual ~CAnimationController(void);
CAnimationController::AddAnimationObject
Agrega un objeto de animación a un grupo que pertenece al controlador de animación.
CAnimationGroup* AddAnimationObject(CAnimationBaseObject* pObject);
Parámetros
pObject
Puntero a un objeto de animación.
Valor devuelto
Puntero a un grupo de animaciones existente o nuevo donde se ha agregado pObject si la función se ejecuta correctamente; NULL si pObject ya se ha agregado a un grupo que pertenece a otro controlador de animación.
Comentarios
Llame a este método para agregar un objeto de animación al controlador de animación. Se agrega un objeto a un grupo según el valor GroupID del objeto (vea CAnimationBaseObject::SetID). El controlador de animación crea un nuevo grupo si es el primer objeto que se va a agregar con el valor GroupID especificado. Un objeto de animación solo se puede agregar a un controlador de animación. Si necesita agregar un objeto a otro controlador, primero llame a RemoveAnimationObject. Si llama a SetID con el nuevo valor GroupID de un objeto que ya se ha agregado a un grupo, el objeto se quita del grupo anterior y se agrega a otro grupo con el identificador especificado.
CAnimationController::AddKeyframeToGroup
Agrega un fotograma clave al grupo.
BOOL AddKeyframeToGroup(
UINT32 nGroupID,
CBaseKeyFrame* pKeyframe);
Parámetros
nGroupID
Especifica el identificador de grupo.
pKeyframe
Puntero a un fotograma clave.
Valor devuelto
TRUE si la función se ejecuta correctamente; de lo contrario, FALSE.
Comentarios
Normalmente no es necesario llamar a este método; use CAnimationController::CreateKeyframe en su lugar, que crea y agrega el fotograma clave creado a un grupo automáticamente.
CAnimationController::AnimateGroup
Prepara un grupo para ejecutar la animación y, opcionalmente, la programa.
BOOL AnimateGroup(
UINT32 nGroupID,
BOOL bScheduleNow = TRUE);
Parámetros
nGroupID
Especifica el valor GroupID.
bScheduleNow
Especifica si se va a ejecutar la animación inmediatamente.
Valor devuelto
TRUE si la animación se ha programado y ejecutado correctamente.
Comentarios
Este método realiza el trabajo real de crear el guion gráfico, agregar variables de animación, aplicar transiciones y establecer fotogramas clave. Es posible retrasar la programación si se establece bScheduleNow en FALSE. En este caso, el grupo especificado contiene un guion gráfico configurado para la animación. En ese punto es posible configurar eventos para el guion gráfico y las variables de animación. Cuando realmente necesite ejecutar la animación, llame a CAnimationController::ScheduleGroup.
CAnimationController::CAnimationController
Construye un controlador de animación.
CAnimationController(void);
CAnimationController::CleanUpGroup
Lo llama el marco para limpiar el grupo cuando se ha programado la animación.
void CleanUpGroup(UINT32 nGroupID);
void CleanUpGroup(CAnimationGroup* pGroup);
Parámetros
nGroupID
Especifica el valor GroupID.
pGroup
Puntero al grupo de animaciones que se va a limpiar.
Comentarios
Este método quita todas las transiciones y los fotogramas clave del grupo especificado, porque no son relevantes después de programar una animación.
CAnimationController::CreateKeyframe
Crea un fotograma clave que depende de la transición y lo agrega al grupo especificado.
CKeyFrame* CreateKeyframe(
UINT32 nGroupID,
CBaseTransition* pTransition);
CKeyFrame* CreateKeyframe(
UINT32 nGroupID,
CBaseKeyFrame* pKeyframe,
UI_ANIMATION_SECONDS offset = 0.0);
Parámetros
nGroupID
Especifica el identificador de grupo para el que se crea el fotograma clave.
pTransition
Puntero a la transición. El fotograma clave se insertará en el guion gráfico después de esta transición.
pKeyframe
Puntero al fotograma clave base de este fotograma clave.
offset
Desplazamiento en segundos desde el fotograma clave base especificado por pKeyframe.
Valor devuelto
Puntero al fotograma clave recién creado si la función se ejecuta correctamente.
Comentarios
Puede almacenar el puntero devuelto y basar otros fotogramas clave en el fotograma clave recién creado (véase la segunda sobrecarga). Es posible iniciar las transiciones en los fotogramas clave (véase CBaseTransition::SetKeyframes). No es necesario eliminar fotogramas clave creados de esta manera, ya que los grupos de animación los eliminan automáticamente. Tenga cuidado al crear fotogramas clave basados en otros fotogramas clave y transiciones, y evite las referencias circulares.
CAnimationController::EnableAnimationManagerEvent
Establece o libera un controlador al que llamar cuando cambia el estado del administrador de animaciones.
virtual BOOL EnableAnimationManagerEvent(BOOL bEnable = TRUE);
Parámetros
bEnable
Especifica si se va a establecer o liberar un controlador.
Valor devuelto
TRUE si el controlador se ha establecido o liberado correctamente.
Comentarios
Cuando se establece un controlador (habilitado), la animación de Windows llama a OnAnimationManagerStatusChanged cuando cambia el estado del administrador de animaciones.
CAnimationController::EnableAnimationTimerEventHandler
Establece o libera un controlador para eventos de temporización y otro para actualizaciones de temporización.
virtual BOOL EnableAnimationTimerEventHandler(
BOOL bEnable = TRUE,
UI_ANIMATION_IDLE_BEHAVIOR idleBehavior = UI_ANIMATION_IDLE_BEHAVIOR_DISABLE);
Parámetros
bEnable
Especifica si se van a establecer o liberar los controladores.
idleBehavior
Especifica el comportamiento de inactividad del controlador de actualización del temporizador.
Valor devuelto
TRUE si los controladores se han establecido o liberado correctamente; FALSE si se llama a este método por segunda vez sin liberar primero los controladores, o si se produce algún otro error.
Comentarios
Cuando se establecen los controladores (habilitados), la API de animación de Windows llama a los métodos OnAnimationTimerPreUpdate, OnAnimationTimerPostUpdate, OnRenderingTooSlow. Debe habilitar temporizadores de animación para permitir que la API de animación de Windows actualice guiones gráficos. De lo contrario, va a tener que llamar a CAnimationController::UpdateAnimationManager para indicar al administrador de animaciones que actualice los valores de todas las variables de animación.
CAnimationController::EnablePriorityComparisonHandler
Establece o libera el controlador de comparación de prioridad al que llamar para determinar si un guion gráfico programado se puede cancelar, concluir, recortar o comprimir.
virtual BOOL EnablePriorityComparisonHandler(DWORD dwHandlerType);
Parámetros
dwHandlerType
Combinación de marcas UI_ANIMATION_PHT_ (vea los comentarios) que especifica qué controladores se van a establecer o liberar.
Valor devuelto
TRUE si el controlador se ha establecido o liberado correctamente.
Comentarios
Cuando se establece un controlador (habilitado), la animación de Windows llama a los siguientes métodos virtuales en función de dwHandlerType: OnHasPriorityCancel, OnHasPriorityConclude, OnHasPriorityTrim, OnHasPriorityCompress. dwHandler puede ser una combinación de las siguientes marcas: UI_ANIMATION_PHT_NONE: libera todos los controladores UI_ANIMATION_PHT_CANCEL: establece el controlador de comparación de cancelación UI_ANIMATION_PHT_CONCLUDE: establece el controlador de comparación de conclusión UI_ANIMATION_PHT_COMPRESS: establece el controlador de comparación de compresión UI_ANIMATION_PHT_TRIM: establece el controlador de comparación de recorte UI_ANIMATION_PHT_CANCEL_REMOVE: quita el controlador de comparación de cancelación UI_ANIMATION_PHT_CONCLUDE_REMOVE: quita el controlador de comparación de conclusión UI_ANIMATION_PHT_COMPRESS_REMOVE: quita el controlador de comparación de compresión UI_ANIMATION_PHT_TRIM_REMOVE: quita el controlador de comparación de recorte
CAnimationController::EnableStoryboardEventHandler
Establece o libera un controlador para los eventos de estado y actualización del guion gráfico.
virtual BOOL EnableStoryboardEventHandler(
UINT32 nGroupID,
BOOL bEnable = TRUE);
Parámetros
nGroupID
Especifica el identificador de grupo.
bEnable
Especifica si se va a establecer o liberar un controlador.
Valor devuelto
TRUE si el controlador se ha establecido o liberado correctamente; FALSE si el grupo de animaciones especificado se ha encontrado o la animación del grupo especificado no se ha iniciado y su guion gráfico interno es NULL.
Comentarios
Cuando se establece un controlador (habilitado), la API de animación de Windows llama a los métodos virtuales OnStoryboardStatusChanges y OnStoryboardUpdated. Se debe establecer un controlador después de llamar a CAnimationController::Animate para el grupo de animaciones especificado, ya que crea un objeto IUIAnimationStoryboard encapsulado.
CAnimationController::FindAnimationGroup
Busca un grupo de animaciones por su identificador de grupo.
CAnimationGroup* FindAnimationGroup(UINT32 nGroupID);
CAnimationGroup* FindAnimationGroup(IUIAnimationStoryboard* pStoryboard);
Parámetros
nGroupID
Especifica un valor GroupID.
pStoryboard
Un puntero a un guion gráfico.
Valor devuelto
Puntero a un grupo de animaciones o NULL si no se encuentra el grupo con el identificador especificado.
Comentarios
Use este método para buscar un grupo de animaciones en tiempo de ejecución. Se crea un grupo y se agrega a la lista interna de grupos de animaciones cuando se va a agregar un primer objeto de animación con un valor GroupID determinado al controlador de animación.
CAnimationController::FindAnimationObject
Busca el objeto de animación que contiene una variable de animación especificada.
BOOL FindAnimationObject(
IUIAnimationVariable* pVariable,
CAnimationBaseObject** ppObject,
CAnimationGroup** ppGroup);
Parámetros
pVariable
Puntero a la variable de animación.
ppObject
Salida. Contiene un puntero al objeto de animación o NULL.
ppGroup
Salida. Contiene un puntero al grupo de animaciones que contiene el objeto de animación, o NULL.
Valor devuelto
TRUE si se ha encontrado el objeto; en caso contrario, FALSE.
Comentarios
Se llama desde controladores de eventos cuando es necesario buscar un objeto de animación de una variable de animación entrante.
CAnimationController::gkeyframeStoryboardStart
Fotograma clave que representa el inicio del guion gráfico.
static CBaseKeyFrame gkeyframeStoryboardStart;
CAnimationController::GetKeyframeStoryboardStart
Devuelve un fotograma clave que identifica el inicio del guion gráfico.
static CBaseKeyFrame* GetKeyframeStoryboardStart();
Valor devuelto
Puntero al fotograma clave base, que identifica el inicio del guion gráfico.
Comentarios
Obtenga este fotograma clave para basar cualquier otro fotograma clave o transición en el momento en que se inicia un guion gráfico.
CAnimationController::GetUIAnimationManager
Proporciona acceso al objeto IUIAnimationManager encapsulado.
IUIAnimationManager* GetUIAnimationManager();
Valor devuelto
Puntero a la interfaz IUIAnimationManager o NULL si se ha producido un error en la creación del administrador de animaciones.
Comentarios
Si el sistema operativo actual no admite la API de animación de Windows, este método devuelve NULL y, después, todas las llamadas posteriores en CAnimationController::IsValid devuelven FALSE. Es posible que tenga que acceder a IUIAnimationManager para llamar a sus métodos de interfaz, que no están encapsulados por el controlador de animación.
CAnimationController::GetUIAnimationTimer
Proporciona acceso al objeto IUIAnimationTimer encapsulado.
IUIAnimationTimer* GetUIAnimationTimer();
Valor devuelto
Puntero a la interfaz IUIAnimationTimer o NULL si se ha producido un error en la creación del temporizador de animaciones.
Comentarios
Si el sistema operativo actual no admite la API de animación de Windows, este método devuelve NULL y, después, todas las llamadas posteriores en CAnimationController::IsValid devuelven FALSE.
CAnimationController::GetUITransitionFactory
Puntero a la interfaz IUIAnimationTransitionFactory o NULL, si se ha producido un error en la creación de la biblioteca de transiciones.
IUIAnimationTransitionFactory* GetUITransitionFactory();
Valor devuelto
Puntero a IUIAnimationTransitionFactory o NULL, si se ha producido un error en la creación de la fábrica de transiciones.
Comentarios
Si el sistema operativo actual no admite la API de animación de Windows, este método devuelve NULL y, después, todas las llamadas posteriores en CAnimationController::IsValid devuelven FALSE.
CAnimationController::GetUITransitionLibrary
Proporciona acceso al objeto IUIAnimationTransitionLibrary encapsulado.
IUIAnimationTransitionLibrary* GetUITransitionLibrary();
Valor devuelto
Puntero a la interfaz IUIAnimationTransitionLibrary o NULL, si se ha producido un error en la creación de la biblioteca de transiciones.
Comentarios
Si el sistema operativo actual no admite la API de animación de Windows, este método devuelve NULL y, después, todas las llamadas posteriores en CAnimationController::IsValid devuelven FALSE.
CAnimationController::IsAnimationInProgress
Indica si al menos un grupo está reproduciendo la animación.
virtual BOOL IsAnimationInProgress();
Valor devuelto
TRUE si hay una animación en curso para este controlador de animación; en caso contrario, FALSE.
Comentarios
Comprueba el estado del administrador de animaciones y devuelve TRUE si el estado es UI_ANIMATION_MANAGER_BUSY.
CAnimationController::IsValid
Indica si el controlador de animación es válido.
BOOL IsValid() const;
Valor devuelto
TRUE si el controlador de animación es válido; en caso contrario, FALSE.
Comentarios
Este método devuelve FALSE solo si la API de animación de Windows no se admite en el sistema operativo actual y se ha producido un error en la creación del administrador de animaciones porque no está registrado. Debe llamar a GetUIAnimationManager al menos una vez después de la inicialización de bibliotecas COM para provocar la configuración de esta marca.
CAnimationController::m_bIsValid
Especifica si un controlador de animación es válido o no. Este miembro se establece en FALSE si el sistema operativo actual no admite la API de animación de Windows.
BOOL m_bIsValid;
CAnimationController::m_lstAnimationGroups
Lista de grupos de animaciones que pertenecen a este controlador de animación.
CList<CAnimationGroup*, CAnimationGroup*> m_lstAnimationGroups;
CAnimationController::m_pAnimationManager
Almacena un puntero al objeto COM del administrador de animaciones.
ATL::CComPtr<IUIAnimationManager> m_pAnimationManager;
CAnimationController::m_pAnimationTimer
Almacena un puntero al objeto COM del temporizador de animaciones.
ATL::CComPtr<IUIAnimationTimer> m_pAnimationTimer;
CAnimationController::m_pRelatedWnd
Puntero a un objeto CWnd relacionado que se puede volver a dibujar automáticamente cuando el estado del administrador de animaciones ha cambiado o se ha producido un evento posterior a la actualización. Puede ser NULL.
CWnd* m_pRelatedWnd;
CAnimationController::m_pTransitionFactory
Almacena un puntero al objeto COM de la fábrica de transiciones.
ATL::CComPtr<IUIAnimationTransitionFactory> m_pTransitionFactory;
CAnimationController::m_pTransitionLibrary
Almacena un puntero al objeto COM de la biblioteca de transiciones.
ATL::CComPtr<IUIAnimationTransitionLibrary> m_pTransitionLibrary;
CAnimationController::OnAfterSchedule
Lo llama el marco cuando se acaba de programar una animación del grupo especificado.
virtual void OnAfterSchedule(CAnimationGroup* pGroup);
Parámetros
pGroup
Puntero a un grupo de animaciones que se ha programado.
Comentarios
La implementación predeterminada quita los fotogramas clave del grupo especificado y realiza transiciones desde variables de animación que pertenecen al grupo especificado. Se puede invalidar en una clase derivada para llevar a cabo acciones adicionales en la programación de animación.
CAnimationController::OnAnimationIntegerValueChanged
Lo llama el marco cuando el valor entero de la variable de animación ha cambiado.
virtual void OnAnimationIntegerValueChanged(
CAnimationGroup* pGroup,
CAnimationBaseObject* pObject,
IUIAnimationVariable* variable,
INT32 newValue,
INT32 prevValue);
Parámetros
pGroup
Puntero a un grupo de animaciones que contiene un objeto de animación cuyo valor ha cambiado.
pObject
Puntero a un objeto de animación que contiene una variable de animación cuyo valor ha cambiado.
variable
Puntero a una variable de animación.
newValue
Especifica un nuevo valor.
prevValue
Especifica el valor anterior.
Comentarios
Se llama a este método si se habilitan eventos de variables de animación con EnableIntegerValueChangedEvent llamado para una variable de animación o un objeto de animación específicos. Se puede invalidar en una clase derivada para realizar acciones específicas de la aplicación.
CAnimationController::OnAnimationManagerStatusChanged
Lo llama el marco en respuesta al evento StatusChanged del administrador de animaciones.
virtual void OnAnimationManagerStatusChanged(
UI_ANIMATION_MANAGER_STATUS newStatus,
UI_ANIMATION_MANAGER_STATUS previousStatus);
Parámetros
newStatus
Nuevo estado del administrador de animaciones.
previousStatus
Estado anterior del administrador de animaciones.
Comentarios
Se llama a este método si se habilitan eventos del administrador de animaciones con EnableAnimationManagerEvent. Se puede invalidar en una clase derivada para realizar acciones específicas de la aplicación. La implementación predeterminada actualiza una ventana relacionada si se ha establecido con SetRelatedWnd.
CAnimationController::OnAnimationTimerPostUpdate
Lo llama el marco una vez finalizada una actualización de animación.
virtual void OnAnimationTimerPostUpdate();
Comentarios
Se llama a este método si se habilitan controladores de eventos de temporizador mediante EnableAnimationTimerEventHandler. Se puede invalidar en una clase derivada para realizar acciones específicas de la aplicación.
CAnimationController::OnAnimationTimerPreUpdate
Lo llama el marco antes de que comience una actualización de animación.
virtual void OnAnimationTimerPreUpdate();
Comentarios
Se llama a este método si se habilitan controladores de eventos de temporizador mediante EnableAnimationTimerEventHandler. Se puede invalidar en una clase derivada para realizar acciones específicas de la aplicación.
CAnimationController::OnAnimationTimerRenderingTooSlow
Lo llama el marco cuando la velocidad de fotogramas que se presenta en una animación cae por debajo de una velocidad de fotogramas mínima deseada.
virtual void OnAnimationTimerRenderingTooSlow(UINT32 fps);
Parámetros
fps
Velocidad de fotogramas actual en fotogramas por segundo.
Comentarios
Se llama a este método si se habilitan controladores de eventos de temporizador mediante EnableAnimationTimerEventHandler. Se puede invalidar en una clase derivada para realizar acciones específicas de la aplicación. La velocidad de fotogramas mínima deseada se especifica mediante una llamada a IUIAnimationTimer::SetFrameRateThreshold.
CAnimationController::OnAnimationValueChanged
Lo llama el marco cuando el valor de la variable de animación ha cambiado.
virtual void OnAnimationValueChanged(
CAnimationGroup* pGroup,
CAnimationBaseObject* pObject,
IUIAnimationVariable* variable,
DOUBLE newValue,
DOUBLE prevValue);
Parámetros
pGroup
Puntero a un grupo de animaciones que contiene un objeto de animación cuyo valor ha cambiado.
pObject
Puntero a un objeto de animación que contiene una variable de animación cuyo valor ha cambiado.
variable
Puntero a una variable de animación.
newValue
Especifica un nuevo valor.
prevValue
Especifica el valor anterior.
Comentarios
Se llama a este método si se habilitan eventos de variables de animación con EnableValueChangedEvent llamado para una variable de animación o un objeto de animación específicos. Se puede invalidar en una clase derivada para realizar acciones específicas de la aplicación.
CAnimationController::OnBeforeAnimationStart
Lo llama el marco justo antes de programar la animación.
virtual void OnBeforeAnimationStart(CAnimationGroup* pGroup);
Parámetros
pGroup
Puntero a un grupo de animaciones cuya animación está a punto de iniciarse.
Comentarios
Esta llamada se enruta a CWnd relacionado y se puede invalidar en una clase derivada para realizar acciones adicionales antes de que se inicie la animación del grupo especificado.
CAnimationController::OnHasPriorityCancel
Lo llama el marco para resolver los conflictos de programación.
virtual BOOL OnHasPriorityCancel(
CAnimationGroup* pGroupScheduled,
CAnimationGroup* pGroupNew,
UI_ANIMATION_PRIORITY_EFFECT priorityEffect);
Parámetros
pGroupScheduled
El grupo que posee el guion gráfico actualmente programado.
pGroupNew
El grupo que posee el nuevo guion gráfico que está en conflicto de programación con el guion gráfico programado que pertenece a pGroupScheduled.
priorityEffect
Efecto potencial en pGroupNew si pGroupScheduled tiene una prioridad más alta.
Valor devuelto
Debe devolver TRUE si el guion gráfico propiedad de pGroupNew tiene prioridad. Debe devolver FALSE si el guion gráfico propiedad de pGroupNew tiene prioridad.
Comentarios
Se llama a este método si se habilitan eventos de comparación de prioridad mediante CAnimationController::EnablePriorityComparisonHandler y se especifica UI_ANIMATION_PHT_CANCEL. Se puede invalidar en una clase derivada para realizar acciones específicas de la aplicación. Lea la documentación de la API de animación de Windows para obtener más información sobre la administración de conflictos.
CAnimationController::OnHasPriorityCompress
Lo llama el marco para resolver los conflictos de programación.
virtual BOOL OnHasPriorityCompress(
CAnimationGroup* pGroupScheduled,
CAnimationGroup* pGroupNew,
UI_ANIMATION_PRIORITY_EFFECT priorityEffect);
Parámetros
pGroupScheduled
El grupo que posee el guion gráfico actualmente programado.
pGroupNew
El grupo que posee el nuevo guion gráfico que está en conflicto de programación con el guion gráfico programado que pertenece a pGroupScheduled.
priorityEffect
Efecto potencial en pGroupNew si pGroupScheduled tiene una prioridad más alta.
Valor devuelto
Debe devolver TRUE si el guion gráfico propiedad de pGroupNew tiene prioridad. Debe devolver FALSE si el guion gráfico propiedad de pGroupNew tiene prioridad.
Comentarios
Se llama a este método si se habilitan eventos de comparación de prioridad mediante CAnimationController::EnablePriorityComparisonHandler y se especifica UI_ANIMATION_PHT_COMPRESS. Se puede invalidar en una clase derivada para realizar acciones específicas de la aplicación. Lea la documentación de la API de animación de Windows para obtener más información sobre la administración de conflictos.
CAnimationController::OnHasPriorityConclude
Lo llama el marco para resolver los conflictos de programación.
virtual BOOL OnHasPriorityConclude(
CAnimationGroup* pGroupScheduled,
CAnimationGroup* pGroupNew,
UI_ANIMATION_PRIORITY_EFFECT priorityEffect);
Parámetros
pGroupScheduled
El grupo que posee el guion gráfico actualmente programado.
pGroupNew
El grupo que posee el nuevo guion gráfico que está en conflicto de programación con el guion gráfico programado que pertenece a pGroupScheduled.
priorityEffect
Efecto potencial en pGroupNew si pGroupScheduled tiene una prioridad más alta.
Valor devuelto
Debe devolver TRUE si el guion gráfico propiedad de pGroupNew tiene prioridad. Debe devolver FALSE si el guion gráfico propiedad de pGroupNew tiene prioridad.
Comentarios
Se llama a este método si se habilitan eventos de comparación de prioridad mediante CAnimationController::EnablePriorityComparisonHandler y se especifica UI_ANIMATION_PHT_CONCLUDE. Se puede invalidar en una clase derivada para realizar acciones específicas de la aplicación. Lea la documentación de la API de animación de Windows para obtener más información sobre la administración de conflictos.
CAnimationController::OnHasPriorityTrim
Lo llama el marco para resolver los conflictos de programación.
virtual BOOL OnHasPriorityTrim(
CAnimationGroup* pGroupScheduled,
CAnimationGroup* pGroupNew,
UI_ANIMATION_PRIORITY_EFFECT priorityEffect);
Parámetros
pGroupScheduled
El grupo que posee el guion gráfico actualmente programado.
pGroupNew
El grupo que posee el nuevo guion gráfico que está en conflicto de programación con el guion gráfico programado que pertenece a pGroupScheduled.
priorityEffect
Efecto potencial en pGroupNew si pGroupScheduled tiene una prioridad más alta.
Valor devuelto
Debe devolver TRUE si el guion gráfico propiedad de pGroupNew tiene prioridad. Debe devolver FALSE si el guion gráfico propiedad de pGroupNew tiene prioridad.
Comentarios
Se llama a este método si se habilitan eventos de comparación de prioridad mediante CAnimationController::EnablePriorityComparisonHandler y se especifica UI_ANIMATION_PHT_TRIM. Se puede invalidar en una clase derivada para realizar acciones específicas de la aplicación. Lea la documentación de la API de animación de Windows para obtener más información sobre la administración de conflictos.
CAnimationController::OnStoryboardStatusChanged
Lo llama el marco cuando el estado del guion gráfico ha cambiado.
virtual void OnStoryboardStatusChanged(
CAnimationGroup* pGroup,
UI_ANIMATION_STORYBOARD_STATUS newStatus,
UI_ANIMATION_STORYBOARD_STATUS previousStatus);
Parámetros
pGroup
Puntero a un grupo de animaciones que posee el guion gráfico cuyo estado ha cambiado.
newStatus
Especifica el nuevo estado.
previousStatus
Especifica el estado anterior.
Comentarios
Se llama a este método si se habilitan eventos de guion gráfico mediante CAnimationController::EnableStoryboardEventHandler. Se puede invalidar en una clase derivada para realizar acciones específicas de la aplicación.
CAnimationController::OnStoryboardUpdated
Lo llama el marco cuando se ha actualizado el guion gráfico.
virtual void OnStoryboardUpdated(CAnimationGroup* pGroup);
Parámetros
pGroup
Puntero a un grupo que posee el guion gráfico.
Comentarios
Se llama a este método si se habilitan eventos de guion gráfico mediante CAnimationController::EnableStoryboardEventHandler. Se puede invalidar en una clase derivada para realizar acciones específicas de la aplicación.
CAnimationController::RemoveAllAnimationGroups
Quita todos los grupos de animaciones del controlador de animación.
void RemoveAllAnimationGroups();
Comentarios
Todos los grupos se eliminan y su puntero, si se almacenaba en el nivel de aplicación, debe invalidarse. Si CAnimationGroup::m_bAutodestroyAnimationObjects de un grupo que se va a eliminar es TRUE, se eliminan todos los objetos de animación que pertenecen a ese grupo; de lo contrario, sus referencias al controlador de animación primario se establecen en NULL y se pueden agregar a otro controlador.
CAnimationController::RemoveAnimationGroup
Quita un grupo de animaciones con el identificador especificado del controlador de animación.
void RemoveAnimationGroup(UINT32 nGroupID);
Parámetros
nGroupID
Especifica el identificador del grupo de animaciones.
Comentarios
Este método quita un grupo de animaciones de la lista interna de grupos y lo elimina, por lo tanto, si almacena un puntero a ese grupo de animaciones, se debe invalidar. Si CAnimationGroup::m_bAutodestroyAnimationObjects es TRUE, se eliminan todos los objetos de animación que pertenecen a ese grupo; de lo contrario, sus referencias al controlador de animación primario se establecen en NULL y se pueden agregar a otro controlador.
CAnimationController::RemoveAnimationObject
Quita un objeto de animación del controlador de animación.
void RemoveAnimationObject(
CAnimationBaseObject* pObject,
BOOL bNoDelete = FALSE);
Parámetros
pObject
Puntero a un objeto de animación.
bNoDelete
Si este parámetro es TRUE, el objeto no se elimina al quitarlo.
Comentarios
Quita un objeto de animación del controlador de animación y del grupo de animaciones. Llame a esta función si ya no se debe animar nunca más un objeto determinado o si necesita mover el objeto a otro controlador de animación. En el último caso, bNoDelete debe ser TRUE.
CAnimationController::RemoveTransitions
Quita las transiciones de los objetos de animación que pertenecen al grupo especificado.
void RemoveTransitions(UINT32 nGroupID);
Parámetros
nGroupID
Especifica el identificador de grupo.
Comentarios
El grupo recorre en bucle sus objetos de animación y llama a ClearTransitions(FALSE) por cada objeto de animación. El marco llama a este método una vez programada la animación.
CAnimationController::ScheduleGroup
Programa una animación.
BOOL ScheduleGroup(
UINT32 nGroupID,
UI_ANIMATION_SECONDS time = 0.0);
Parámetros
nGroupID
Especifica el identificador del grupo de animaciones que se va a programar.
time
Especifica el tiempo que se va a programar.
Valor devuelto
TRUE si la animación se ha programado correctamente. FALSE si no se ha creado el guion gráfico o se produce otro error.
Comentarios
Debe llamar a AnimateGroup con el parámetro bScheduleNow establecido en FALSE antes de ScheduleGroup. Puede especificar el tiempo de animación deseado obtenido de IUIAnimationTimer::GetTime. Si el parámetro de tiempo es 0.0, la animación se programa para la hora actual.
CAnimationController::SetRelatedWnd
Establece una relación entre el controlador de animación y una ventana.
void SetRelatedWnd(CWnd* pWnd);
Parámetros
pWnd
Puntero al objeto de ventana que se va a establecer.
Comentarios
Si se establece un objeto CWnd relacionado, el controlador de animación puede actualizarlo automáticamente (enviar el mensaje WM_PAINT) cuando el estado del administrador de animaciones ha cambiado o se ha producido un evento posterior a la actualización del temporizador.
CAnimationController::UpdateAnimationManager
Indica al administrador de animaciones que actualice los valores de todas las variables de animación.
virtual void UpdateAnimationManager();
Comentarios
Al llamar a este método, el administrador de animaciones avanza a la hora actual, cambia los estados de los guiones gráficos según sea necesario y actualiza las variables de animación a los valores interpolados adecuados. Internamente, este método llama a IUIAnimationTimer::GetTime(timeNow) e IUIAnimationManager::Update(timeNow). Invalide este método en una clase derivada para personalizar este comportamiento.