
Con la publicación de esta entrada se va a dar por finalizada la serie “Desarrollo de aplicaciones con MS Windows 7 Multitouch: Manejador de Gestos” en la cual se ha descrito completamente el funcionamiento del proyecto “mtGesture” facilitado por Microsoft.
En esta ocasión y con motivo del cierre de la serie, se va a proceder a mostrar el funcionamiento general de la aplicación haciendo uso de las nociones que han sido desarrolladas a lo largo de las diversas entradas que la componen. Por lo cual se derivará la atención a los eventos que se realizan en el proyecto “mtGesture”, es decir, a lo que el usuario de la aplicación observa en el momento de interactuar con el dispositivo tablet a la espera de que sus “gestos” sobre la pantalla tengan el resultado esperado.

Pantalla inicial de la aplicación
Evento de rotación:
Para aplicar rotación a un objeto se pueden aplicar dos metodologías, la primera seria pulsando con un primer dedo sobre un lugar de la pantalla y con otro en una posición diferente, para posteriormente realizar un giro como si de enroscar o desenroscar una botella se tratara, dependiendo de la dirección hacia donde se desee realizar el mismo.

La segunda forma de realizar la rotación es similar a la anterior, pero en lugar de mover los dos dedos del modo anteriormente descrito se deja un dedo pulsado de manera fija la pantalla y con el otro se realiza un movimiento circular como si se quisiera dibujar un círculo alrededor del dedo que mantiene una posición fija.

De esta forma “_rec” que es un objeto de “DrawingObject” dibujará un objeto girándose, enviando los argumentos adecuados de tipo “GestureEventArgs”
private void ProcessRotate(object sender, GestureEventArgs args)
{
_rect.Rotate(args.RotateAngle, args.Center);
Invalidate();
}

Rotación de la figura geométrica hacia la derecha
Evento de cambio de dimensiones o “Zoom”:
Se podría decir que hay dos tipos de “Zoom”, el positivo (+) cuya funcionalidad es la de cambiar las dimensiones de la figura haciéndola sensiblemente más grande. Por el contrario el segundo tipo de “Zoom” es el negativo (-), el cual reduce las dimensiones del objeto sobre el cual se aplica.
Cabe resaltar que el zoom negativo se aplica hasta que la imagen llegue a un mínimo, a partir del cual no se reducirá más.
private void ProcessZoom(object sender, GestureEventArgs args)
{
_rect.Zoom(args.ZoomFactor, args.Center);
Invalidate();
}

Zoom +

Zoom -
Evento de desplazamiento o “Panning”:
Este evento realiza el movimiento de la figura, en este caso el rectángulo, de una forma bastante peculiar, ya que normalmente cuando se deja de pulsar sobre un elemento, éste se queda anclado en la posición donde se produjo el “TouchUp” (“o levantado de pulsado”). Sin embargo en este caso, se aplica la opción de inercia, que fue descrita en la serie previa a esta Tablets MultiTouch con MS Windows 7: Inertia , para que la figura siga en movimiento aun después de dejar de pulsar sobre el elemento.
private void ProcessPan(object sender, GestureEventArgs args)
{
_rect.Move(args.PanTranslation);
//Text = String.Format("{0}", args.DistanceBetweenFingers);
Invalidate();
}

Evento de desplazamiento o acción del efecto “Panning”
Evento de pulsar con dos dedos de forma alternativa
Este evento sirve para cambiar el color del borde de la figura geométrica, y para hacerlo posible se debe pulsar sobre un lugar de la pantalla y posteriormente con otro dedo pulsar sobre un sitio diferente. Se observará el cambio de color cuando ambos dedos dejen de estar situados sobre la pantalla de la aplicación.
private void ProcessRollOver(object sender, GestureEventArgs args)
{
_rect.ShiftColor();
Invalidate();
}

Posibles colores a los que puede cambiar el marco del rectángulo.
Evento de tocar con dos dedos a la vez
Cuando la pantalla táctil reciba la entrada de dos pulsaciones simultáneas, lo que se ejecutará es el pintado de las diagonales de la figura geométrica.
Si se realiza la misma acción cuando la figura ya tiene las diagonales dibujadas, este evento las eliminará.
private void ProcessTwoFingerTap(object sender, GestureEventArgs args)
{
_rect.TogleDrawDiagonals();
Invalidate();
}

Evento de pulsar con dos dedos a la vez sobre la pantalla
Con la descripción de los eventos relacionados con la clase principal de la aplicación “mtGesture” se habría dado por finalizada la explicación del código que se oculta detrás de este interesante proyecto.
Se espera que esta serie haya sido de vuestro completo agrado y que os haya servido para animaros a iniciar el camino del desarrollo de aplicaciones para este tipo de dispositivos.
------------------------------------------------------------------------------------------------------------------------------------------
Desarrollo de aplicaciones con MS Windows 7 Multitouch: Manejador de Gestos (I de IV)
Desarrollo de aplicaciones con MS Windows 7 Multitouch: Manejador de Gestos (II de IV)
Desarrollo de aplicaciones con MS Windows 7 Multitouch: Manejador de Gestos (III de IV)
Desarrollo de aplicaciones con MS Windows 7 Multitouch: Manejador de Gestos (IV de IV)
Desarrollo de aplicaciones con MS Windows 7 Multitouch: Manejador de Gestos (IV de IV) Anexo I
Desarrollo de aplicaciones con MS Windows 7 Multitouch: Manejador de Gestos (IV de IV) Anexo II
Desarrollo de aplicaciones con MS Windows 7 Multitouch: Manejador de Gestos (IV de IV) Anexo III
------------------------------------------------------------------------------------------------------------------------------------------
Enviado
jul 29 2011, 02:35
por
Jhonattan Fiestas