Share via


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 propre 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 propre 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

CObject

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 propre 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 vers propre.

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.

Voir aussi

Classes