Class TwoPointGesture

  • All Implemented Interfaces:
    com.sparshui.gestures.Gesture

    public class TwoPointGesture
    extends 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
    • Field Detail

      • _myType

        private int _myType
      • _offset

        protected com.sparshui.common.Location _offset
      • _offsetCentroid

        protected com.sparshui.common.Location _offsetCentroid
      • _traces1

        private List<com.sparshui.common.Location> _traces1
      • _traces2

        private 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
    • Constructor Detail

      • TwoPointGesture

        public TwoPointGesture()
    • Method Detail

      • getName

        public 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 List<com.sparshui.common.Event> processChange​(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 List<com.sparshui.common.Event> processChangeSync​(com.sparshui.server.TouchPoint changedPoint)
      • processBirth

        protected List<com.sparshui.common.Event> processBirth​(com.sparshui.server.TouchPoint touchPoint)
      • processDeath

        protected List<com.sparshui.common.Event> processDeath​(com.sparshui.server.TouchPoint touchPoint)
      • processMove

        protected 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()