Поделиться через


Подсистема композиции

Чтобы управлять обновлениями визуальных элементов, приложение должно использовать IDirectManipulationCompositor. Этот объект отвечает за обновление визуальных элементов на основе обновлений direct Manipulation, перенаправления обновлений инерции и предоставления сведений о времени композиции прямой манипуляции, кроме того, приложение должно использовать DCompManipulationCompositor, предоставляемые direct Manipulation, которая будет обрабатывать все визуальные обновления от имени приложения и обновления инерции диска.

DCompManipulationCompositor является реализацией интерфейса IDirectManipulationCompositor, который упаковывает DirectComposition. Вместо применения приложения выходных данных с помощью этого объекта compositor Direct Manipulation можно применить выходные данные, задав преобразования непосредственно в дереве DirectComposition. С помощью этой конфигурации можно обрабатывать входные данные, а выходные преобразования можно применять независимо от действия в потоке пользовательского интерфейса.

Чтобы предоставить сведения о времени выполнения обработчика композиции, класс DCompManipulationCompipulationCompositor реализует интерфейс IDirectManipulationFrameInfoProvid er. При создании окна просмотра QueryInterface указатель IDirectManipulationCompositor, полученный из CoCreateInstance для экземпляра IDirectManipulationFrameInfoProvider. Указатель IDirectManipulationFrameInfoProvider передается в функцию IDirectManipulationManager::CreateViewport().