Moteur de composition

Pour pouvoir générer des mises à jour visuelles, l’application doit utiliser IDirectManipulationCompositor. Cet objet est chargé de mettre à jour les éléments visuels basés sur des mises à jour de manipulation directe , de générer des mises à jour par inertie et de fournir des informations de minutage de composition pour la manipulation directe. en outre, une application doit utiliser le DCompManipulationCompositor fourni par la manipulation directe, qui gérera toutes les mises à jour visuelles pour le compte de l’application et les mises à jour

Le DCompManipulationCompositor est une implémentation de l’interface IDirectManipulationCompositor qui encapsule DirectComposition. Plutôt que de faire en sorte que l’application applique la sortie, par le biais de cet objet compositeur, la manipulation directe peut appliquer la sortie en définissant les transformations directement sur l’arbre DirectComposition. À l’aide de cette configuration, l’entrée peut être traitée et des transformations de sortie peuvent être appliquées, quelle que soit l’activité sur le thread d’interface utilisateur.

Pour fournir des informations de manipulation directe sur le minutage du moteur de composition, la classe DCompManipulationCompositor implémente l’interface IDirectManipulationFrameInfoProvider . Lors de la création d’une fenêtre d’affichage, QueryInterface est le pointeur IDirectManipulationCompositor obtenu à partir de CoCreateInstance pour une instance de IDirectManipulationFrameInfoProvider. Le pointeur IDirectManipulationFrameInfoProvider est passé à la fonction IDirectManipulationManager :: CreateViewport () .