GUI Design and Gesture Engines
Designing a touch-enabled GUI is very different from designing a desktop application that uses a mouse. When creating a touch GUI, it is important to consider the average size of the human finger and the lack of preciseness in the touch location. The most basic single touch gestures are tap, double tap, drag, and flick. A flick gesture can be implemented using a simple deceleration algorithm. The most common two-finger gestures are rotate and zoom. The angle of rotation can be easily calculated using the touch positions and the C atan2 function. Combination gestures add some complications that might be more easily dealt with at the application layer instead of in the gesture engine.