Skip to content
The Jenkins Controller is preparing for shutdown. No new builds can be started.
Unstable

Changes

Summary

  1. NEWT/MouseEvent: Refine MultiTouch Event Spec regarding associated (details)
  2. Android/NEWT MouseEvent: Fix Delivery of MultiTouch PRESSED/RELEASE; Fix (details)
  3. Newt/MouseEvent: Add 'float[3] getRotation()', getWheelScale() -> (details)
Commit 18cb57246372eda72c25a5cd9a69a873bdf09489 by Sven Gothel
NEWT/MouseEvent: Refine MultiTouch Event Spec regarding associated 'action' pointer Index; Add PointerType[PointerClass]; Add 'wheelScale' Attribute;

- Refine MultiTouch Event Spec regarding associated 'action' pointer Index
  In case an instance represents multi-touch events, i.e. {@link #getPointerCount()} is > 1,
  the first data element represents the pointer which triggered the action if individual to one pointer.
  For example {@link #getX(int) e.getX(0)} at {@link #EVENT_MOUSE_PRESSED} returns the data of the pressed pointer, etc.

- Add PointerType[PointerClass]
  This allows applications to identify the type and it's class [On-/Offscreen]
  helping to interpret semantics, e.g. wheel-rotate and new wheel-scale

- Add 'wheelScale' Attribute
  Returns the scale used to determine the {@link #getWheelRotation() wheel rotation},
  which semantics depends on the {@link #getPointerType() pointer type's} {@link PointerClass}.
  See API doc for details ..

TODO: NEWT/Android changes adopting these changes.
The file was modified src/newt/classes/com/jogamp/newt/event/MouseEvent.java (diff)
Commit 654a678bd7171e81ec947cafa854dad366f5041e by Sven Gothel
Android/NEWT MouseEvent: Fix Delivery of MultiTouch PRESSED/RELEASE; Fix Detection/Processing of 2-Finger-Scroll Gesture ; GearsES2: Add NEWT based 'zoom' gesture detection.

- Fix Delivery of MultiTouch PRESSED/RELEASE
  Adopting MouseEvent changes of commit 18cb57246372eda72c25a5cd9a69a873bdf09489

- Fix Detection/Processing of 2-Finger-Scroll Gesture

  Dropping utilization of Android's GestureDetector and implementing our own,
  which turns out to simplify keeping track of states.

  Our gesture detection works well w/ user NEWT based gesture detection (-> See GearsES2 zoom and rotate),
  using following criteria related to Android parameter:
     - ScaledDoubleTapSlop:
        - Max 2 finger distance

     - ScaledTouchSlop:
        - Min. movement w/ 2 pointer withing ScaledDoubleTapSlop starting 'scroll' mode
        - Max. change of finger distance in respect to initiating 2-finger distance (2x ScaledTouchSlop)
        - Max. distance growth in respect to initiating 2-finger distance.

- GearsES2: Add NEWT based 'zoom' gesture detection.
The file was modified src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/GearsES2.java (diff)
The file was modified src/newt/classes/jogamp/newt/driver/android/event/AndroidNewtEventFactory.java (diff)
Commit ded080fd890c21b54ba1f96d84f9e355711dc88a by Sven Gothel
Newt/MouseEvent: Add 'float[3] getRotation()', getWheelScale() -> getRotationScale(), refinement of commit 18cb57246372eda72c25a5cd9a69a873bdf09489

Turns out the 'wheel' semantics are not generic enough and confining rotation values
to one axis only satisfies the traditional mouse wheel.

Widen the definition of 'rotation' and delivering 3-axis if supported.

On NEWT/Android, we deliver the 2-axis for example, allowing to rotate around both
or scrolling using both directions (-> GearsES2).
The file was modified src/newt/classes/com/jogamp/newt/event/MouseEvent.java (diff)
The file was modified src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/GearsES2.java (diff)
The file was modified src/newt/classes/jogamp/newt/driver/android/event/AndroidNewtEventFactory.java (diff)
The file was modified src/newt/classes/com/jogamp/newt/event/MouseListener.java (diff)