Continuando con la serie de últimos artículos publicados en Windows Técnico dentro de la categoría Tablet Multitouch con MS Windows 7 y dedicados a la propiedad “Inertia”:
· Tablets MultiTouch con MS Windows 7: Inertia (II)
· Tablets MultiTouch con MS Windows 7: Inertia (I)
Generamos este nuevo post abordando las posibilidades que aporta la librería “ManipulationProcessor”, que ya se mencionaba en la anterior entrada de la serie donde se analizaban las librerías dedicadas al control de los movimientos inerciales. La librería “ManipulationProcessor” es la encargada de gestionar la velocidad y otros aspectos de comunicación con el sistema operativo Ms Windows 7.
![clip_image002[4] clip_image002[4]](http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/clip_5F00_image0024_5F00_thumb_5F00_1B5AC977.jpg)
Librería ManipulationProcessor
Esta librería es la encargada de un aspecto fundamental, determinar cuando el movimiento se inicia y cuando éste finaliza. Para ello hace uso de los eventos: “ManipulationStartedEventArgs” y “ManipulationCompletedEventArgs”. No sólo aporta los mencionados eventos, sino también las interfaces necesarias para la monitorización y gestión del movimiento de los objetos dotados de la propiedad “Inertia”, permitiendo de este modo la comunicación con el dispositivo tablet multitouch desde las aplicaciones generadas en .Net.
Un resumen de las clases, eventos, propiedades y métodos de esta importante librería se muestra en la siguiente imagen:
![clip_image003[5] clip_image003[5]](http://www.windowstecnico.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windowstecnico/clip_5F00_image0035_5F00_thumb_5F00_05A04540.png)
Detalle ManipulationProcessor
Como es posible apreciar esta clase controla todos los movimientos de posible realización sobre un tablet con Ms Windows 7, desde la pulsación sobre la pantalla con el método “ProcessDown”, hasta determinar la velocidad del objeto con la propiedad “Velocity”.
Pero esta librería no va ser más que un mero “bridge” entre la plataforma .Net y el objeto interno COM de Windows 7, realizado en C++. Es por ello que adentrándose un poco en el código de los métodos, es posible apreciar una llamada directa al objeto COM, tal y como muestra el ejemplo que ser recoge a continuación:
public void ProcessDownWithTime(uint manipulationId, PointF location, int timestamp)
{
_comManipulationProcessor.ProcessDownWithTime(manipulationId, location.X, location.Y, timestamp);
}
Estos objetos COM utilizados se encuentran en la librería “Windows7.Multitouch.ManipulationInterop”. Para acceder a esta librería usamos su representación en dos objetos:
private readonly IManipulationProcessor _comManipulationProcessor;
private readonly IManipulationEvents _comManipulationEvents;
Con la información disponible en esta última entrada, se han analizado ya los elementos necesarios para dotar a los distintos objetos de la propiedad “Inertia”. En entradas posteriores se abordará su utilización en una aplicación y el inicio del trabajo con ellos, dotando a nuestras aplicaciones multitouch de un mayor dinamismo.
Para seguir adquiriendo información de forma ágil sobre las interesantes posibilidades de programación con dispositivos tablet multitouch con Ms Windows 7 suscribiros al canal RSS de Windows técnico
Enviado
may 09 2011, 11:41
por
Ignacio Briones