Motor de composición
Para controlar las actualizaciones visuales, la aplicación debe usar IDirectManipulationCompositor. Este objeto es responsable de actualizar objetos visuales basados en actualizaciones de manipulación directa , impulsar las actualizaciones de inercia hacia adelante y proporcionar información de tiempo de composición a la manipulación directa Además, una aplicación debe usar el DCompManipulationCompositor proporcionado por Manipulación directa, que controlará todas las actualizaciones visuales en nombre de la aplicación y impulsará las actualizaciones de inercia.
DCompManipulationCompositor es una implementación de la interfaz IDirectManipulationCompositor que encapsula DirectComposition. En lugar de que la aplicación aplique la salida, mediante este objeto compositor La manipulación directa puede aplicar la salida estableciendo las transformaciones directamente en el árbol DirectComposition. Con esta configuración, se pueden procesar las transformaciones de entrada y de salida, independientemente de la actividad en el subproceso de la interfaz de usuario.
Para proporcionar información de manipulación directa sobre el tiempo del motor de composición, la clase DCompManipulationCompositor implementa la interfaz IDirectManipulationFrameInfoProvider . Al crear una ventanilla, QueryInterface el puntero IDirectManipulationCompositor obtenido de CoCreateInstance para una instancia de IDirectManipulationFrameInfoProvider. El puntero IDirectManipulationFrameInfoProvider se pasa a la función IDirectManipulationManager::CreateViewport().