org.jmol.multitouch.sparshui
Class TwoPointGesture
java.lang.Object
org.jmol.multitouch.sparshui.TwoPointGesture
- All Implemented Interfaces:
- com.sparshui.gestures.Gesture
public class TwoPointGesture
- extends java.lang.Object
- implements com.sparshui.gestures.Gesture
TWO_POINT_GESTURE
This gesture requires two points of contact, but its type is not initially
defined. Instead, its type is determined on-the-fly to be one of ZOOM,
ROTATE, or 2-point DRAG based on the direction of motion and relative
positions of the starting points. Two traces are obtained, assuming nothing
about the ID of the incoming points from the input device but instead
operating from position on the screen.
v00 from pt(1,0) to pt(2,0)
ZOOM IN: <---- x -----> (at any angle)
ZOOM OUT: ----> x <----- (at any angle)
ROTATE CW: ^ |
| x | (at any angle, not implemented)
| V
ROTATE CCW: | ^
| x | (at any angle, not implemented)
V |
2-point drag:
--------->
x (any direction)
--------->
Bob Hanson 12/13/2009
Method Summary |
private void |
checkType()
|
int |
getGestureType()
Get the integer value of this gesture type. |
java.lang.String |
getName()
Get the name of this gesture. |
protected java.util.List<com.sparshui.common.Event> |
processBirth(com.sparshui.server.TouchPoint touchPoint)
|
java.util.List<com.sparshui.common.Event> |
processChange(java.util.List<com.sparshui.server.TouchPoint> touchPoints,
com.sparshui.server.TouchPoint changedPoint)
Process a touch point change in the gesture. |
private java.util.List<com.sparshui.common.Event> |
processChangeSync(com.sparshui.server.TouchPoint changedPoint)
|
protected java.util.List<com.sparshui.common.Event> |
processDeath(com.sparshui.server.TouchPoint touchPoint)
|
protected java.util.List<com.sparshui.common.Event> |
processMove(com.sparshui.server.TouchPoint touchPoint)
|
private boolean |
updateLocations(com.sparshui.server.TouchPoint touchPoint)
|
private boolean |
updateParameters()
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
_myType
private int _myType
_offset
protected com.sparshui.common.Location _offset
_offsetCentroid
protected com.sparshui.common.Location _offsetCentroid
_traces1
private java.util.List<com.sparshui.common.Location> _traces1
_traces2
private java.util.List<com.sparshui.common.Location> _traces2
_id1
private int _id1
_id2
private int _id2
_nTraces
private int _nTraces
_scale
private float _scale
_rotation
private float _rotation
time
private long time
TwoPointGesture
public TwoPointGesture()
getName
public java.lang.String getName()
- Description copied from interface:
com.sparshui.gestures.Gesture
- Get the name of this gesture.
- Specified by:
getName
in interface com.sparshui.gestures.Gesture
- Returns:
- The name of this gesture.
getGestureType
public int getGestureType()
- Description copied from interface:
com.sparshui.gestures.Gesture
- Get the integer value of this gesture type. Gesture values
are defined in GestureType.java.
- Specified by:
getGestureType
in interface com.sparshui.gestures.Gesture
- Returns:
- The gesture type.
processChange
public java.util.List<com.sparshui.common.Event> processChange(java.util.List<com.sparshui.server.TouchPoint> touchPoints,
com.sparshui.server.TouchPoint changedPoint)
- Description copied from interface:
com.sparshui.gestures.Gesture
- Process a touch point change in the gesture.
- Specified by:
processChange
in interface com.sparshui.gestures.Gesture
- Parameters:
touchPoints
- The list of touch points that currently belong to this gesture.changedPoint
- The touch point that has changed.
- Returns:
- An ArrayList of events that will be delivered to the client.
processChangeSync
private java.util.List<com.sparshui.common.Event> processChangeSync(com.sparshui.server.TouchPoint changedPoint)
processBirth
protected java.util.List<com.sparshui.common.Event> processBirth(com.sparshui.server.TouchPoint touchPoint)
processDeath
protected java.util.List<com.sparshui.common.Event> processDeath(com.sparshui.server.TouchPoint touchPoint)
processMove
protected java.util.List<com.sparshui.common.Event> processMove(com.sparshui.server.TouchPoint touchPoint)
updateLocations
private boolean updateLocations(com.sparshui.server.TouchPoint touchPoint)
checkType
private void checkType()
updateParameters
private boolean updateParameters()