合成引擎
为了驱动视觉对象更新,应用程序应使用 IDirectManipulationCompositor。 此对象负责根据直接操作更新更新视觉对象、推动惯性更新向前以及向直接操作提供组合计时信息 此外,应用程序应使用 Direct Manipulation 提供的 DCompManipulationCompipulationCompositor,它将代表应用程序处理所有视觉更新并驱动惯性更新。
DCompManipulationCompositor 是包装 DirectComposition 的 IDirectManipulationCompositor 接口的实现。 直接 操作 可以通过直接在 DirectComposition 树上设置转换来应用输出,而不是让应用程序应用输出。 使用此配置,可以处理输入并应用输出转换,而不考虑 UI 线程上的活动。
为了提供有关合成引擎计时的 直接操作 信息, DCompManipulationCompositor 类实现 IDirectManipulationFrameInfoProvider 接口。 创建视区时,QueryInterface 为 IDirectManipulationFrameInfoProvider 实例从 CoCreateInstance 获取的 IDirectManipulationCompositor 指针。 IDirectManipulationFrameInfoProvider 指针传递到 IDirectManipulationManager::CreateViewport () 函数。