Package org.jmol.multitouch.sparshui
Class TwoPointGesture
java.lang.Object
org.jmol.multitouch.sparshui.TwoPointGesture
- All Implemented Interfaces:
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
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate voidintGet the integer value of this gesture type.getName()Get the name of this gesture.protected List<com.sparshui.common.Event>processBirth(com.sparshui.server.TouchPoint touchPoint) List<com.sparshui.common.Event>processChange(List<com.sparshui.server.TouchPoint> touchPoints, com.sparshui.server.TouchPoint changedPoint) Process a touch point change in the gesture.private List<com.sparshui.common.Event>processChangeSync(com.sparshui.server.TouchPoint changedPoint) protected List<com.sparshui.common.Event>processDeath(com.sparshui.server.TouchPoint touchPoint) protected List<com.sparshui.common.Event>processMove(com.sparshui.server.TouchPoint touchPoint) private booleanupdateLocations(com.sparshui.server.TouchPoint touchPoint) private boolean
-
Field Details
-
_myType
private int _myType -
_offset
protected com.sparshui.common.Location _offset -
_offsetCentroid
protected com.sparshui.common.Location _offsetCentroid -
_traces1
-
_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
-
-
Constructor Details
-
TwoPointGesture
public TwoPointGesture()
-
-
Method Details
-
getName
Description copied from interface:com.sparshui.gestures.GestureGet the name of this gesture.- Specified by:
getNamein interfacecom.sparshui.gestures.Gesture- Returns:
- The name of this gesture.
-
getGestureType
public int getGestureType()Description copied from interface:com.sparshui.gestures.GestureGet the integer value of this gesture type. Gesture values are defined in GestureType.java.- Specified by:
getGestureTypein interfacecom.sparshui.gestures.Gesture- Returns:
- The gesture type.
-
processChange
public List<com.sparshui.common.Event> processChange(List<com.sparshui.server.TouchPoint> touchPoints, com.sparshui.server.TouchPoint changedPoint) Description copied from interface:com.sparshui.gestures.GestureProcess a touch point change in the gesture.- Specified by:
processChangein interfacecom.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 List<com.sparshui.common.Event> processChangeSync(com.sparshui.server.TouchPoint changedPoint) -
processBirth
-
processDeath
-
processMove
-
updateLocations
private boolean updateLocations(com.sparshui.server.TouchPoint touchPoint) -
checkType
private void checkType() -
updateParameters
private boolean updateParameters()
-