Condividi tramite


Motore di composizione

Per gestire gli aggiornamenti visivi, l'applicazione deve usare IDirectManipulationCompositor. Questo oggetto è responsabile dell'aggiornamento degli oggetti visivi in base agli aggiornamenti della manipolazione diretta , dell'avanzamento degli aggiornamenti dell'inerzia e della fornitura di informazioni sulla tempistica di composizione alla manipolazione diretta. Inoltre, un'applicazione deve usare DCompManipulationCompositor fornito da Manipolazione diretta, che gestirà tutti gli aggiornamenti visivi per conto dell'applicazione e determina gli aggiornamenti dell'inerzia.

DCompManipulationCompositor è un'implementazione dell'interfaccia IDirectManipulationCompositor che esegue il wrapping di DirectComposition. Invece di applicare l'output all'applicazione, tramite questo oggetto compositor La manipolazione diretta può applicare l'output impostando le trasformazioni direttamente nell'albero DirectComposition. Usando questa configurazione, è possibile elaborare l'input e applicare trasformazioni di output, indipendentemente dall'attività nel thread dell'interfaccia utente.

Per fornire informazioni sulla manipolazione diretta sulla tempistica del motore di composizione, la classe DCompManipulationCompositor implementa l'interfaccia IDirectManipulationFrameInfoProvider . Quando si crea un viewport, QueryInterface il puntatore IDirectManipulationCompositor ottenuto da CoCreateInstance per un'istanza di IDirectManipulationFrameInfoProvider. Il puntatore IDirectManipulationFrameInfoProvider viene passato alla funzione IDirectManipulationManager::CreateViewport().