CAnimationController, classe
Implémente le contrôleur de l'animation, qui propose une interface centrale pour créer et gérer des animations.
Syntaxe
class CAnimationController : public CObject;
Membres
Constructeurs publics
Nom | Description |
---|---|
CAnimationController ::CAnimationController | Construit un contrôleur d’animation. |
CAnimationController ::~CAnimationController | Destructeur. Appelé lorsque l’objet du contrôleur d’animation est détruit. |
Méthodes publiques
Nom | Description |
---|---|
CAnimationController ::AddAnimationObject | Ajoute un objet d’animation à un groupe qui appartient au contrôleur d’animation. |
CAnimationController ::AddKeyframeToGroup | Ajoute un image clé au groupe. |
CAnimationController ::AnimateGroup | Prépare un groupe pour exécuter l’animation et le planifie éventuellement. |
CAnimationController ::CleanUpGroup | Surcharge. Appelé par l’infrastructure pour nettoyer le groupe lorsque l’animation a été planifiée. |
CAnimationController ::CreateKeyframe | Surcharge. Crée une image clé qui dépend de la transition et l’ajoute au groupe spécifié. |
CAnimationController ::EnableAnimationManagerEvent | Définit ou libère un gestionnaire à appeler lorsque l’état du gestionnaire d’animation change. |
CAnimationController ::EnableAnimationTimerEventHandler | Définit ou libère un gestionnaire pour les événements de minutage et le gestionnaire pour les mises à jour de minutage. |
CAnimationController ::EnablePriorityComparisonHandler | Définit ou libère le gestionnaire de comparaison de priorité à appeler pour déterminer si un storyboard planifié peut être annulé, terminé, rogné ou compressé. |
CAnimationController ::EnableStoryboardEventHandler | Définit ou libère un gestionnaire pour l’état du storyboard et les événements de mise à jour. |
CAnimationController ::FindAnimationGroup | Surcharge. Recherche un groupe d’animations par son storyboard. |
CAnimationController ::FindAnimationObject | Recherche un objet d’animation contenant une variable d’animation spécifiée. |
CAnimationController ::GetKeyframeStoryboardStart | Retourne une image clé qui identifie le début du storyboard. |
CAnimationController ::GetUIAnimationManager | Fournit l’accès à l’objet IUIAnimationManager encapsulé. |
CAnimationController ::GetUIAnimationTimer | Fournit l’accès à l’objet IUIAnimationTimer encapsulé. |
CAnimationController ::GetUITransitionFactory | Pointeur vers l’interface IUIAnimationTransitionFactory ou NULL, si la création d’une bibliothèque de transition a échoué. |
CAnimationController ::GetUITransitionLibrary | Fournit l’accès à l’objet IUIAnimationTransitionLibrary encapsulé. |
CAnimationController ::IsAnimationInProgress | Indique si au moins un groupe joue l’animation. |
CAnimationController ::IsValid | Indique si le contrôleur d’animation est valide. |
CAnimationController ::OnAnimationIntegerValueChanged | Appelé par l’infrastructure lorsque la valeur entière de la variable d’animation a changé. |
CAnimationController ::OnAnimationManagerStatusChanged | Appelé par l’infrastructure en réponse à l’événement StatusChanged du gestionnaire d’animations. |
CAnimationController ::OnAnimationTimerPostUpdate | Appelé par l’infrastructure après la fin d’une mise à jour d’animation. |
CAnimationController ::OnAnimationTimerPreUpdate | Appelé par l’infrastructure avant qu’une mise à jour d’animation ne commence. |
CAnimationController ::OnAnimationTimerRenderingTooSlow | Appelé par l’infrastructure lorsque la fréquence d’images de rendu d’une animation tombe en dessous d’une fréquence d’images minimale souhaitable. |
CAnimationController ::OnAnimationValueChanged | Appelé par l’infrastructure lorsque la valeur de la variable d’animation a changé. |
CAnimationController ::OnBeforeAnimationStart | Appelé par l’infrastructure juste avant la planification de l’animation. |
CAnimationController ::OnHasPriorityCancel | Appelé par l'infrastructure pour résoudre les conflits de planification. |
CAnimationController ::OnHasPriorityCompress | Appelé par l'infrastructure pour résoudre les conflits de planification. |
CAnimationController ::OnHasPriorityConclude | Appelé par l'infrastructure pour résoudre les conflits de planification. |
CAnimationController ::OnHasPriorityTrim | Appelé par l'infrastructure pour résoudre les conflits de planification. |
CAnimationController ::OnStoryboardStatusChanged | Appelé par l’infrastructure lorsque l’état du storyboard a changé. |
CAnimationController ::OnStoryboardUpdated | Appelé par l’infrastructure lorsque le storyboard a été mis à jour. |
CAnimationController ::RemoveAllAnimationGroups | Supprime tous les groupes d’animations du contrôleur d’animation. |
CAnimationController ::RemoveAnimationGroup | Supprime un groupe d’animations avec l’ID spécifié du contrôleur d’animation. |
CAnimationController ::RemoveAnimationObject | Supprimez un objet d’animation du contrôleur d’animation. |
CAnimationController ::RemoveTransitions | Supprime les transitions des objets d’animation qui appartiennent au groupe spécifié. |
CAnimationController ::ScheduleGroup | Planifie une animation. |
CAnimationController ::SetRelatedWnd | Établit une relation entre le contrôleur d’animation et une fenêtre. |
CAnimationController ::UpdateAnimationManager | Dirige le gestionnaire d’animations pour mettre à jour les valeurs de toutes les variables d’animation. |
Méthodes protégées
Nom | Description |
---|---|
CAnimationController ::CleanUpGroup | Surcharge. Assistance qui nettoie le groupe. |
CAnimationController ::OnAfterSchedule | Appelé par l’infrastructure lorsqu’une animation pour le groupe spécifié vient d’être planifiée. |
Membres de données protégés
Nom | Description |
---|---|
CAnimationController ::gkeyframeStoryboardStart | Image clé qui représente le début du storyboard. |
CAnimationController ::m_bIsValid | Spécifie si un contrôleur d’animation est valide ou non. Ce membre a la valeur FALSE si le système d’exploitation actuel ne prend pas en charge l’API Animation Windows. |
CAnimationController ::m_lstAnimationGroups | Liste des groupes d’animation qui appartiennent à ce contrôleur d’animation. |
CAnimationController ::m_pAnimationManager | Stocke un pointeur vers l’objet COM du Gestionnaire d’animations. |
CAnimationController ::m_pAnimationTimer | Stocke un pointeur vers l’objet COM du minuteur d’animation. |
CAnimationController ::m_pRelatedWnd | Pointeur vers un objet CWnd associé, qui peut être automatiquement redessiné lorsque l’état du gestionnaire d’animations a changé ou que l’événement post-mise à jour s’est produit. Sa valeur peut être NULL. |
CAnimationController ::m_pTransitionFactory | Stocke un pointeur vers l’objet COM Transition Factory. |
CAnimationController ::m_pTransitionLibrary | Stocke un pointeur vers l’objet COM de la bibliothèque de transition. |
Notes
La classe CAnimationController est la classe clé qui gère les animations. Vous pouvez créer une ou plusieurs instances de contrôleur d’animation dans une application et, éventuellement, connecter une instance de contrôleur d’animation à un objet CWnd à l’aide de CAnimationController ::SetRelatedWnd. Cette connexion est nécessaire pour envoyer automatiquement des messages WM_PAINT à la fenêtre associée lorsque l’état du gestionnaire d’animations a été modifié ou que le minuteur d’animation a été mis à jour. Si vous n’activez pas cette relation, vous devez redessiner une fenêtre qui affiche manuellement une animation. À cet effet, vous pouvez dériver une classe de CAnimationController et remplacer OnAnimationManagerStatusChanged et/ou OnAnimationTimerPostUpdate et invalider une ou plusieurs fenêtres si nécessaire.
Hiérarchie d'héritage
CAnimationController
Spécifications
En-tête : afxanimationcontroller.h
CAnimationController ::~CAnimationController
Destructeur. Appelé lorsque l’objet du contrôleur d’animation est détruit.
virtual ~CAnimationController(void);
CAnimationController ::AddAnimationObject
Ajoute un objet d’animation à un groupe qui appartient au contrôleur d’animation.
CAnimationGroup* AddAnimationObject(CAnimationBaseObject* pObject);
Paramètres
pObject
Pointeur vers un objet d’animation.
Valeur de retour
Pointeur vers un groupe d’animations existant ou nouveau où pObject a été ajouté si la fonction réussit ; NULL si pObject a déjà été ajouté à un groupe qui appartient à un autre contrôleur d’animation.
Notes
Appelez cette méthode pour ajouter un objet d’animation au contrôleur d’animation. Un objet sera ajouté à un groupe en fonction du GroupID de l’objet (voir CAnimationBaseObject ::SetID). Le contrôleur d’animation crée un groupe s’il s’agit du premier objet ajouté avec le GroupID spécifié. Un objet d’animation peut être ajouté à un seul contrôleur d’animation. Si vous devez ajouter un objet à un autre contrôleur, appelez d’abord RemoveAnimationObject. Si vous appelez SetID avec un nouvel ID de groupe pour un objet qui a déjà été ajouté à un groupe, l’objet est supprimé de l’ancien groupe et ajouté à un autre groupe avec l’ID spécifié.
CAnimationController ::AddKeyframeToGroup
Ajoute un image clé au groupe.
BOOL AddKeyframeToGroup(
UINT32 nGroupID,
CBaseKeyFrame* pKeyframe);
Paramètres
nGroupID
Spécifie l’ID de groupe.
pKeyframe
Pointeur vers un image clé.
Valeur de retour
TRUE si la fonction réussit ; sinon FALSE.
Notes
En règle générale, vous n’avez pas besoin d’appeler cette méthode, utilisez CAnimationController ::CreateKeyframe à la place, ce qui crée et ajoute automatiquement l’image clé créée à un groupe.
CAnimationController ::AnimateGroup
Prépare un groupe pour exécuter l’animation et le planifie éventuellement.
BOOL AnimateGroup(
UINT32 nGroupID,
BOOL bScheduleNow = TRUE);
Paramètres
nGroupID
Spécifie GroupID.
bScheduleNow
Spécifie s’il faut exécuter immédiatement l’animation.
Valeur de retour
TRUE si l’animation a été correctement planifiée et exécutée.
Notes
Cette méthode effectue le travail réel de création de storyboard, l’ajout de variables d’animation, l’application de transitions et la définition d’images clés. Il est possible de retarder la planification si vous définissez bScheduleNow sur FALSE. Dans ce cas, le groupe spécifié contiendra un storyboard configuré pour l’animation. À ce stade, vous pouvez configurer des événements pour les variables de table de montage séquentiel et d’animation. Quand vous avez réellement besoin d’exécuter l’appel d’animation CAnimationController ::ScheduleGroup.
CAnimationController ::CAnimationController
Construit un contrôleur d’animation.
CAnimationController(void);
CAnimationController ::CleanUpGroup
Appelé par l’infrastructure pour nettoyer le groupe lorsque l’animation a été planifiée.
void CleanUpGroup(UINT32 nGroupID);
void CleanUpGroup(CAnimationGroup* pGroup);
Paramètres
nGroupID
Spécifie GroupID.
pGroup
Pointeur vers le groupe d’animations à nettoyer.
Notes
Cette méthode supprime toutes les transitions et images clés du groupe spécifié, car elles ne sont pas pertinentes une fois qu’une animation a été planifiée.
CAnimationController ::CreateKeyframe
Crée une image clé qui dépend de la transition et l’ajoute au groupe spécifié.
CKeyFrame* CreateKeyframe(
UINT32 nGroupID,
CBaseTransition* pTransition);
CKeyFrame* CreateKeyframe(
UINT32 nGroupID,
CBaseKeyFrame* pKeyframe,
UI_ANIMATION_SECONDS offset = 0.0);
Paramètres
nGroupID
Spécifie l’ID de groupe pour lequel l’image clé est créée.
pTransition
Pointeur vers la transition. L’image clé sera insérée dans le plan conceptuel après cette transition.
pKeyframe
Pointeur vers l’image clé de base pour cette image clé.
offset
Décalage en secondes à partir de l’image clé de base spécifiée par pKeyframe.
Valeur de retour
Pointeur vers l’image clé nouvellement créée si la fonction réussit.
Notes
Vous pouvez stocker le pointeur retourné et baser les autres images clés sur l’image clé nouvellement créée (voir la deuxième surcharge). Il est possible de commencer des transitions au niveau des images clés : voir CBaseTransition::SetKeyframes. Vous n’avez pas besoin de supprimer les images clés créées de cette façon, car elles sont automatiquement supprimées par les groupes d’animation. Soyez prudent lors de la création d’images clés basées sur d’autres images clés et d’autres transitions, et évitez les références circulaires.
CAnimationController ::EnableAnimationManagerEvent
Définit ou libère un gestionnaire à appeler lorsque l’état du gestionnaire d’animation change.
virtual BOOL EnableAnimationManagerEvent(BOOL bEnable = TRUE);
Paramètres
bEnable
Spécifie s’il faut définir ou libérer un gestionnaire.
Valeur de retour
TRUE si le gestionnaire a été correctement défini ou libéré.
Notes
Lorsqu’un gestionnaire est défini (activé) l’animation Windows appelle OnAnimationManagerStatusChanged lorsque l’état du gestionnaire d’animation change.
CAnimationController ::EnableAnimationTimerEventHandler
Définit ou libère un gestionnaire pour les événements de minutage et le gestionnaire pour les mises à jour de minutage.
virtual BOOL EnableAnimationTimerEventHandler(
BOOL bEnable = TRUE,
UI_ANIMATION_IDLE_BEHAVIOR idleBehavior = UI_ANIMATION_IDLE_BEHAVIOR_DISABLE);
Paramètres
bEnable
Spécifie s’il faut définir ou libérer les gestionnaires.
idleBehavior
Spécifie le comportement inactif pour le gestionnaire de mises à jour du minuteur.
Valeur de retour
TRUE si les gestionnaires ont été correctement définis ou libérés ; FALSE si cette méthode est appelée pour une seconde fois sans libérer les gestionnaires en premier, ou si une autre erreur se produit.
Notes
Lorsque les gestionnaires sont définis (activés) l’API Animation Windows appelle Les méthodes OnAnimationTimerPreUpdate, OnAnimationTimerPostUpdate, OnRenderingTooSlow. Vous devez activer les minuteurs d’animation pour autoriser les storyboards de mise à jour de l’API d’animation Windows. Sinon, vous devez appeler CAnimationController ::UpdateAnimationManager pour diriger le gestionnaire d’animations afin de mettre à jour les valeurs de toutes les variables d’animation.
CAnimationController ::EnablePriorityComparisonHandler
Définit ou libère le gestionnaire de comparaison de priorité à appeler pour déterminer si un storyboard planifié peut être annulé, terminé, rogné ou compressé.
virtual BOOL EnablePriorityComparisonHandler(DWORD dwHandlerType);
Paramètres
dwHandlerType
Combinaison d’indicateurs UI_ANIMATION_PHT_ (voir remarques), qui spécifie les gestionnaires à définir ou à libérer.
Valeur de retour
TRUE si le gestionnaire a été correctement défini ou libéré.
Notes
Lorsqu’un gestionnaire est défini (activé) l’animation Windows appelle les méthodes virtuelles suivantes en fonction de dwHandlerType : OnHasPriorityCancel, OnHasPriorityConclude, OnHasPriorityTrim, OnHasPriorityCompress. dwHandler peut être une combinaison des indicateurs suivants : UI_ANIMATION_PHT_NONE - libérer tous les gestionnaires UI_ANIMATION_PHT_CANCEL - définir annuler le gestionnaire de comparaison UI_ANIMATION_PHT_CONCLUDE - définir le gestionnaire de comparaison de conclusion UI_ANIMATION_PHT_COMPRESS - définir compresser le gestionnaire de comparaison UI_ANIMATION_PHT_TRIM - définir le gestionnaire de comparaison Trim UI_ANIMATION_PHT_CANCEL_REMOVE - supprimer le gestionnaire de comparaison d’annulation UI_ANIMATION_PHT_CONCLUDE_REMOVE - supprimer le gestionnaire de comparaison de conclusion UI_ANIMATION_PHT_COMPRESS_REMOVE - supprimer le gestionnaire de comparaison compresser les UI_ANIMATION_PHT_TRIM_REMOVE - supprimer le gestionnaire de comparaison trim
CAnimationController ::EnableStoryboardEventHandler
Définit ou libère un gestionnaire pour l’état du storyboard et les événements de mise à jour.
virtual BOOL EnableStoryboardEventHandler(
UINT32 nGroupID,
BOOL bEnable = TRUE);
Paramètres
nGroupID
Spécifie l’ID de groupe.
bEnable
Spécifie s’il faut définir ou libérer un gestionnaire.
Valeur de retour
TRUE si le gestionnaire a été correctement défini ou libéré ; FALSE si le groupe d’animations spécifié est maintenant trouvé ou si l’animation du groupe spécifié n’a pas été lancée et que son storyboard interne est NULL.
Notes
Lorsqu’un gestionnaire est défini (activé) l’API d’animation Windows appelle Les méthodes virtuelles OnStoryboardStatusChanges et OnStoryboardUpdated. Un gestionnaire doit être défini après que CAnimationController ::Animate a été appelé pour le groupe d’animations spécifié, car il crée un objet IUIAnimationStoryboard encapsulé.
CAnimationController ::FindAnimationGroup
Recherche un groupe d’animations par son ID de groupe.
CAnimationGroup* FindAnimationGroup(UINT32 nGroupID);
CAnimationGroup* FindAnimationGroup(IUIAnimationStoryboard* pStoryboard);
Paramètres
nGroupID
Spécifie un GroupID.
pStoryboard
Pointeur vers un storyboard.
Valeur de retour
Pointeur vers le groupe d’animations ou NULL si le groupe avec l’ID spécifié est introuvable.
Notes
Utilisez cette méthode pour rechercher un groupe d’animations au moment de l’exécution. Un groupe est créé et ajouté à la liste interne des groupes d’animation lorsqu’un premier objet d’animation avec un GroupID particulier est ajouté au contrôleur d’animation.
CAnimationController ::FindAnimationObject
Recherche un objet d’animation contenant une variable d’animation spécifiée.
BOOL FindAnimationObject(
IUIAnimationVariable* pVariable,
CAnimationBaseObject** ppObject,
CAnimationGroup** ppGroup);
Paramètres
pVariable
Pointeur vers une variable d’animation.
ppObject
Sortie : Contient un pointeur vers un objet d’animation ou NULL.
ppGroup
Sortie : Contient un pointeur vers un groupe d’animations qui contient l’objet d’animation ou NULL.
Valeur de retour
TRUE si l’objet a été trouvé ; sinon FALSE.
Notes
Appelé à partir de gestionnaires d’événements lorsqu’il est nécessaire de rechercher un objet d’animation à partir de la variable d’animation entrante.
CAnimationController ::gkeyframeStoryboardStart
Image clé qui représente le début du storyboard.
static CBaseKeyFrame gkeyframeStoryboardStart;
CAnimationController ::GetKeyframeStoryboardStart
Retourne une image clé qui identifie le début du storyboard.
static CBaseKeyFrame* GetKeyframeStoryboardStart();
Valeur de retour
Pointeur vers l’image clé de base, qui identifie le début du storyboard.
Notes
Obtenez cette image clé pour baser d’autres images clés ou transitions sur le moment où un storyboard démarre.
CAnimationController ::GetUIAnimationManager
Fournit l’accès à l’objet IUIAnimationManager encapsulé.
IUIAnimationManager* GetUIAnimationManager();
Valeur de retour
Pointeur vers l’interface IUIAnimationManager ou NULL, si la création du gestionnaire d’animations a échoué.
Notes
Si le système d’exploitation actuel ne prend pas en charge l’API Animation Windows, cette méthode retourne NULL et après que tous les appels suivants sur CAnimationController ::IsValid retournent FALSE. Vous devrez peut-être accéder à IUIAnimationManager pour appeler ses méthodes d’interface, qui ne sont pas encapsulées par le contrôleur d’animation.
CAnimationController ::GetUIAnimationTimer
Fournit l’accès à l’objet IUIAnimationTimer encapsulé.
IUIAnimationTimer* GetUIAnimationTimer();
Valeur de retour
Pointeur vers l’interface IUIAnimationTimer ou NULL, si la création du minuteur d’animation a échoué.
Notes
Si le système d’exploitation actuel ne prend pas en charge l’API Animation Windows, cette méthode retourne NULL et après que tous les appels suivants sur CAnimationController ::IsValid retournent FALSE.
CAnimationController ::GetUITransitionFactory
Pointeur vers l’interface IUIAnimationTransitionFactory ou NULL, si la création d’une bibliothèque de transition a échoué.
IUIAnimationTransitionFactory* GetUITransitionFactory();
Valeur de retour
Pointeur vers IUIAnimationTransitionFactory ou NULL, si la création d’une fabrique de transition a échoué.
Notes
Si le système d’exploitation actuel ne prend pas en charge l’API Animation Windows, cette méthode retourne NULL et après que tous les appels suivants sur CAnimationController ::IsValid retournent FALSE.
CAnimationController ::GetUITransitionLibrary
Fournit l’accès à l’objet IUIAnimationTransitionLibrary encapsulé.
IUIAnimationTransitionLibrary* GetUITransitionLibrary();
Valeur de retour
Pointeur vers l’interface IUIAnimationTransitionLibrary ou NULL, si la création d’une bibliothèque de transition a échoué.
Notes
Si le système d’exploitation actuel ne prend pas en charge l’API Animation Windows, cette méthode retourne NULL et après que tous les appels suivants sur CAnimationController ::IsValid retournent FALSE.
CAnimationController ::IsAnimationInProgress
Indique si au moins un groupe joue l’animation.
virtual BOOL IsAnimationInProgress();
Valeur de retour
TRUE s’il existe une animation en cours pour ce contrôleur d’animation ; sinon FALSE.
Notes
Vérifie l’état du gestionnaire d’animations et retourne TRUE si l’état est UI_ANIMATION_MANAGER_BUSY.
CAnimationController ::IsValid
Indique si le contrôleur d’animation est valide.
BOOL IsValid() const;
Valeur de retour
TRUE si le contrôleur d’animation est valide ; sinon FALSE.
Notes
Cette méthode retourne FALSE uniquement si l’API Animation Windows n’est pas prise en charge sur le système d’exploitation actuel et si la création du gestionnaire d’animation a échoué, car elle n’est pas inscrite. Vous devez appeler GetUIAnimationManager au moins une fois après l’initialisation des bibliothèques COM pour provoquer le paramètre de cet indicateur.
CAnimationController ::m_bIsValid
Spécifie si un contrôleur d’animation est valide ou non. Ce membre a la valeur FALSE si le système d’exploitation actuel ne prend pas en charge l’API Animation Windows.
BOOL m_bIsValid;
CAnimationController ::m_lstAnimationGroups
Liste des groupes d’animation qui appartiennent à ce contrôleur d’animation.
CList<CAnimationGroup*, CAnimationGroup*> m_lstAnimationGroups;
CAnimationController ::m_pAnimationManager
Stocke un pointeur vers l’objet COM du Gestionnaire d’animations.
ATL::CComPtr<IUIAnimationManager> m_pAnimationManager;
CAnimationController ::m_pAnimationTimer
Stocke un pointeur vers l’objet COM du minuteur d’animation.
ATL::CComPtr<IUIAnimationTimer> m_pAnimationTimer;
CAnimationController ::m_pRelatedWnd
Pointeur vers un objet CWnd associé, qui peut être automatiquement redessiné lorsque l’état du gestionnaire d’animations a changé ou que l’événement post-mise à jour s’est produit. Sa valeur peut être NULL.
CWnd* m_pRelatedWnd;
CAnimationController ::m_pTransitionFactory
Stocke un pointeur vers l’objet COM Transition Factory.
ATL::CComPtr<IUIAnimationTransitionFactory> m_pTransitionFactory;
CAnimationController ::m_pTransitionLibrary
Stocke un pointeur vers l’objet COM de la bibliothèque de transition.
ATL::CComPtr<IUIAnimationTransitionLibrary> m_pTransitionLibrary;
CAnimationController ::OnAfterSchedule
Appelé par l’infrastructure lorsqu’une animation pour le groupe spécifié vient d’être planifiée.
virtual void OnAfterSchedule(CAnimationGroup* pGroup);
Paramètres
pGroup
Pointeur vers un groupe d’animations, qui a été planifié.
Notes
L’implémentation par défaut supprime les images clés du groupe spécifié et les transitions des variables d’animation qui appartiennent au groupe spécifié. Peut être substitué dans une classe dérivée pour effectuer des actions supplémentaires lors de la planification de l’animation.
CAnimationController ::OnAnimationIntegerValueChanged
Appelé par l’infrastructure lorsque la valeur entière de la variable d’animation a changé.
virtual void OnAnimationIntegerValueChanged(
CAnimationGroup* pGroup,
CAnimationBaseObject* pObject,
IUIAnimationVariable* variable,
INT32 newValue,
INT32 prevValue);
Paramètres
pGroup
Pointeur vers un groupe d’animations qui contient un objet d’animation dont la valeur a changé.
pObject
Pointeur vers un objet d’animation qui contient une variable d’animation dont la valeur a changé.
variable
Pointeur vers une variable d’animation.
newValue
Spécifie une nouvelle valeur.
prevValue
Spécifie la valeur précédente.
Notes
Cette méthode est appelée si vous activez des événements de variable d’animation avec EnableIntegerValueChangedEvent appelé pour une variable d’animation spécifique ou un objet d’animation. Elle peut être substituée dans une classe dérivée pour prendre des mesures propres à l'application.
CAnimationController ::OnAnimationManagerStatusChanged
Appelé par l’infrastructure en réponse à l’événement StatusChanged du gestionnaire d’animations.
virtual void OnAnimationManagerStatusChanged(
UI_ANIMATION_MANAGER_STATUS newStatus,
UI_ANIMATION_MANAGER_STATUS previousStatus);
Paramètres
newStatus
Nouvel état du gestionnaire d’animations.
previousStatus
État précédent du gestionnaire d’animations.
Notes
Cette méthode est appelée si vous activez les événements du gestionnaire d’animations avec EnableAnimationManagerEvent. Elle peut être substituée dans une classe dérivée pour prendre des mesures propres à l'application. L’implémentation par défaut met à jour une fenêtre associée si elle a été définie avec SetRelatedWnd.
CAnimationController ::OnAnimationTimerPostUpdate
Appelé par l’infrastructure après la fin d’une mise à jour d’animation.
virtual void OnAnimationTimerPostUpdate();
Notes
Cette méthode est appelée si vous activez les gestionnaires d’événements du minuteur à l’aide de EnableAnimationTimerEventHandler. Elle peut être substituée dans une classe dérivée pour prendre des mesures propres à l'application.
CAnimationController ::OnAnimationTimerPreUpdate
Appelé par l’infrastructure avant qu’une mise à jour d’animation ne commence.
virtual void OnAnimationTimerPreUpdate();
Notes
Cette méthode est appelée si vous activez les gestionnaires d’événements du minuteur à l’aide de EnableAnimationTimerEventHandler. Elle peut être substituée dans une classe dérivée pour prendre des mesures propres à l'application.
CAnimationController ::OnAnimationTimerRenderingTooSlow
Appelé par l’infrastructure lorsque la fréquence d’images de rendu d’une animation tombe en dessous d’une fréquence d’images minimale souhaitable.
virtual void OnAnimationTimerRenderingTooSlow(UINT32 fps);
Paramètres
fps
Fréquence d’images actuelle en images par seconde.
Notes
Cette méthode est appelée si vous activez les gestionnaires d’événements du minuteur à l’aide de EnableAnimationTimerEventHandler. Elle peut être substituée dans une classe dérivée pour prendre des mesures propres à l'application. La fréquence d’images minimale souhaitable est spécifiée en appelant IUIAnimationTimer ::SetFrameRateThreshold.
CAnimationController ::OnAnimationValueChanged
Appelé par l’infrastructure lorsque la valeur de la variable d’animation a changé.
virtual void OnAnimationValueChanged(
CAnimationGroup* pGroup,
CAnimationBaseObject* pObject,
IUIAnimationVariable* variable,
DOUBLE newValue,
DOUBLE prevValue);
Paramètres
pGroup
Pointeur vers un groupe d’animations qui contient un objet d’animation dont la valeur a changé.
pObject
Pointeur vers un objet d’animation qui contient une variable d’animation dont la valeur a changé.
variable
Pointeur vers une variable d’animation.
newValue
Spécifie une nouvelle valeur.
prevValue
Spécifie la valeur précédente.
Notes
Cette méthode est appelée si vous activez des événements de variable d’animation avec EnableValueChangedEvent appelé pour une variable d’animation ou un objet d’animation spécifique. Elle peut être substituée dans une classe dérivée pour prendre des mesures propres à l'application.
CAnimationController ::OnBeforeAnimationStart
Appelé par l’infrastructure juste avant la planification de l’animation.
virtual void OnBeforeAnimationStart(CAnimationGroup* pGroup);
Paramètres
pGroup
Pointeur vers un groupe d’animations dont l’animation est sur le point de démarrer.
Notes
Cet appel est routé vers CWnd associé et peut être substitué dans une classe dérivée pour effectuer toutes les actions supplémentaires avant le démarrage de l’animation pour le groupe spécifié.
CAnimationController ::OnHasPriorityCancel
Appelé par l'infrastructure pour résoudre les conflits de planification.
virtual BOOL OnHasPriorityCancel(
CAnimationGroup* pGroupScheduled,
CAnimationGroup* pGroupNew,
UI_ANIMATION_PRIORITY_EFFECT priorityEffect);
Paramètres
pGroupScheduled
Groupe propriétaire du plan conceptuel actuellement planifié.
pGroupNew
Groupe propriétaire du nouveau plan conceptuel dont la planification est en conflit avec celle du plan conceptuel dont pGroupScheduled est propriétaire.
priorityEffect
Effet potentiel sur pGroupNew si pGroupScheduled a une priorité plus élevée.
Valeur de retour
Doit retourner TRUE si le plan conceptuel détenu par pGroupNew est prioritaire. Doit retourner FALSE si le plan conceptuel détenu par pGroupScheduled est prioritaire.
Notes
Cette méthode est appelée si vous activez les événements de comparaison de priorité à l'aide de CAnimationController::EnablePriorityComparisonHandler et que vous spécifiez UI_ANIMATION_PHT_CANCEL. Elle peut être substituée dans une classe dérivée pour prendre des mesures propres à l'application. Pour plus d’informations sur la gestion des conflits, consultez la documentation de l’API Animation Windows.
CAnimationController ::OnHasPriorityCompress
Appelé par l'infrastructure pour résoudre les conflits de planification.
virtual BOOL OnHasPriorityCompress(
CAnimationGroup* pGroupScheduled,
CAnimationGroup* pGroupNew,
UI_ANIMATION_PRIORITY_EFFECT priorityEffect);
Paramètres
pGroupScheduled
Groupe propriétaire du plan conceptuel actuellement planifié.
pGroupNew
Groupe propriétaire du nouveau plan conceptuel dont la planification est en conflit avec celle du plan conceptuel dont pGroupScheduled est propriétaire.
priorityEffect
Effet potentiel sur pGroupNew si pGroupScheduled a une priorité plus élevée.
Valeur de retour
Doit retourner TRUE si le plan conceptuel détenu par pGroupNew est prioritaire. Doit retourner FALSE si le plan conceptuel détenu par pGroupScheduled est prioritaire.
Notes
Cette méthode est appelée si vous activez les événements de comparaison de priorité à l'aide de CAnimationController::EnablePriorityComparisonHandler et que vous spécifiez UI_ANIMATION_PHT_COMPRESS. Elle peut être substituée dans une classe dérivée pour prendre des mesures propres à l'application. Pour plus d’informations sur la gestion des conflits, consultez la documentation de l’API Animation Windows.
CAnimationController ::OnHasPriorityConclude
Appelé par l'infrastructure pour résoudre les conflits de planification.
virtual BOOL OnHasPriorityConclude(
CAnimationGroup* pGroupScheduled,
CAnimationGroup* pGroupNew,
UI_ANIMATION_PRIORITY_EFFECT priorityEffect);
Paramètres
pGroupScheduled
Groupe propriétaire du plan conceptuel actuellement planifié.
pGroupNew
Groupe propriétaire du nouveau plan conceptuel dont la planification est en conflit avec celle du plan conceptuel dont pGroupScheduled est propriétaire.
priorityEffect
Effet potentiel sur pGroupNew si pGroupScheduled a une priorité plus élevée.
Valeur de retour
Doit retourner TRUE si le plan conceptuel détenu par pGroupNew est prioritaire. Doit retourner FALSE si le plan conceptuel détenu par pGroupScheduled est prioritaire.
Notes
Cette méthode est appelée si vous activez les événements de comparaison de priorité à l'aide de CAnimationController::EnablePriorityComparisonHandler et que vous spécifiez UI_ANIMATION_PHT_CONCLUDE. Elle peut être substituée dans une classe dérivée pour prendre des mesures propres à l'application. Pour plus d’informations sur la gestion des conflits, consultez la documentation de l’API Animation Windows.
CAnimationController ::OnHasPriorityTrim
Appelé par l'infrastructure pour résoudre les conflits de planification.
virtual BOOL OnHasPriorityTrim(
CAnimationGroup* pGroupScheduled,
CAnimationGroup* pGroupNew,
UI_ANIMATION_PRIORITY_EFFECT priorityEffect);
Paramètres
pGroupScheduled
Groupe propriétaire du plan conceptuel actuellement planifié.
pGroupNew
Groupe propriétaire du nouveau plan conceptuel dont la planification est en conflit avec celle du plan conceptuel dont pGroupScheduled est propriétaire.
priorityEffect
Effet potentiel sur pGroupNew si pGroupScheduled a une priorité plus élevée.
Valeur de retour
Doit retourner TRUE si le plan conceptuel détenu par pGroupNew est prioritaire. Doit retourner FALSE si le plan conceptuel détenu par pGroupScheduled est prioritaire.
Notes
Cette méthode est appelée si vous activez les événements de comparaison de priorité à l'aide de CAnimationController::EnablePriorityComparisonHandler et que vous spécifiez UI_ANIMATION_PHT_TRIM. Elle peut être substituée dans une classe dérivée pour prendre des mesures propres à l'application. Pour plus d’informations sur la gestion des conflits, consultez la documentation de l’API Animation Windows.
CAnimationController ::OnStoryboardStatusChanged
Appelé par l’infrastructure lorsque l’état du storyboard a changé.
virtual void OnStoryboardStatusChanged(
CAnimationGroup* pGroup,
UI_ANIMATION_STORYBOARD_STATUS newStatus,
UI_ANIMATION_STORYBOARD_STATUS previousStatus);
Paramètres
pGroup
Pointeur vers un groupe d’animations propriétaire du storyboard dont l’état a changé.
newStatus
Spécifie le nouvel état.
previousStatus
Spécifie l’état précédent.
Notes
Cette méthode est appelée si vous activez des événements storyboard à l’aide de CAnimationController ::EnableStoryboardEventHandler. Elle peut être substituée dans une classe dérivée pour prendre des mesures propres à l'application.
CAnimationController ::OnStoryboardUpdated
Appelé par l’infrastructure lorsque le storyboard a été mis à jour.
virtual void OnStoryboardUpdated(CAnimationGroup* pGroup);
Paramètres
pGroup
Pointeur vers un groupe propriétaire du storyboard.
Notes
Cette méthode est appelée si vous activez des événements storyboard à l’aide de CAnimationController ::EnableStoryboardEventHandler. Elle peut être substituée dans une classe dérivée pour prendre des mesures propres à l'application.
CAnimationController ::RemoveAllAnimationGroups
Supprime tous les groupes d’animations du contrôleur d’animation.
void RemoveAllAnimationGroups();
Notes
Tous les groupes seront supprimés, leur pointeur, s’il est stocké au niveau de l’application, doit être invalidé. Si CAnimationGroup ::m_bAutodestroyAnimationObjects pour un groupe supprimé a la valeur TRUE, tous les objets d’animation appartenant à ce groupe seront supprimés ; sinon, leurs références au contrôleur d’animation parent sont définies sur NULL et peuvent être ajoutées à un autre contrôleur.
CAnimationController ::RemoveAnimationGroup
Supprime un groupe d’animations avec l’ID spécifié du contrôleur d’animation.
void RemoveAnimationGroup(UINT32 nGroupID);
Paramètres
nGroupID
Spécifie l’ID du groupe d’animations.
Notes
Cette méthode supprime un groupe d’animations de la liste interne des groupes et le supprime, par conséquent, si vous avez stocké un pointeur vers ce groupe d’animations, il doit être invalidé. Si CAnimationGroup ::m_bAutodestroyAnimationObjects a la valeur TRUE, tous les objets d’animation appartenant à ce groupe seront supprimés ; sinon, leurs références au contrôleur d’animation parent sont définies sur NULL et peuvent être ajoutées à un autre contrôleur.
CAnimationController ::RemoveAnimationObject
Supprimez un objet d’animation du contrôleur d’animation.
void RemoveAnimationObject(
CAnimationBaseObject* pObject,
BOOL bNoDelete = FALSE);
Paramètres
pObject
Pointeur vers un objet d’animation.
bNoDelete
Si ce paramètre a la valeur TRUE, l’objet ne sera pas supprimé lors de la suppression.
Notes
Supprime un objet d’animation du contrôleur d’animation et du groupe d’animations. Appelez cette fonction si un objet particulier ne doit plus être animé, ou si vous devez déplacer l’objet vers un autre contrôleur d’animation. Dans le dernier cas, bNoDelete doit être TRUE.
CAnimationController ::RemoveTransitions
Supprime les transitions des objets d’animation qui appartiennent au groupe spécifié.
void RemoveTransitions(UINT32 nGroupID);
Paramètres
nGroupID
Spécifie l’ID de groupe.
Notes
Le groupe effectue une boucle sur ses objets d’animation et appelle ClearTransitions(FALSE) pour chaque objet d’animation. Cette méthode est appelée par l’infrastructure une fois l’animation planifiée.
CAnimationController ::ScheduleGroup
Planifie une animation.
BOOL ScheduleGroup(
UINT32 nGroupID,
UI_ANIMATION_SECONDS time = 0.0);
Paramètres
nGroupID
Spécifie l’ID de groupe d’animation à planifier.
time
Spécifie l’heure à planifier.
Valeur de retour
TRUE si l’animation a été planifiée avec succès. FALSE si le storyboard n’a pas été créé ou qu’une autre erreur se produit.
Notes
Vous devez appeler AnimateGroup avec le paramètre bScheduleNow défini sur FALSE avant ScheduleGroup. Vous pouvez spécifier l’heure d’animation souhaitée obtenue à partir d’IUIAnimationTimer ::GetTime. Si le paramètre d’heure est 0.0, l’animation est planifiée pour l’heure actuelle.
CAnimationController ::SetRelatedWnd
Établit une relation entre le contrôleur d’animation et une fenêtre.
void SetRelatedWnd(CWnd* pWnd);
Paramètres
pWnd
Pointeur vers l’objet window à définir.
Notes
Si un objet CWnd associé est défini, le contrôleur d’animation peut le mettre à jour automatiquement (envoyer WM_PAINT message) lorsque l’état du gestionnaire d’animations a changé ou que l’événement de post-mise à jour du minuteur s’est produit.
CAnimationController ::UpdateAnimationManager
Dirige le gestionnaire d’animations pour mettre à jour les valeurs de toutes les variables d’animation.
virtual void UpdateAnimationManager();
Notes
L’appel de cette méthode avance le gestionnaire d’animation à l’heure actuelle, en modifiant les états des storyboards si nécessaire et en mettant à jour toutes les variables d’animation vers des valeurs interpolées appropriées. En interne, cette méthode appelle IUIAnimationTimer ::GetTime(timeNow) et IUIAnimationManager ::Update(timeNow). Remplacez cette méthode dans une classe dérivée pour personnaliser ce comportement.