commit 0ba264e878993d8f24254257d39a189b4ebf3937 Author: Sven Gothel Date: Sat Oct 19 03:40:31 2013 +0200 PinchToZoomGesture: Add ctor arg 'allowMorePointer', should be false to be more stable (i.e. only 2 pointer pressed) commit fed660a69241a38535d26b54f8c81ec81edc3eff Author: Sven Gothel Date: Sat Oct 19 03:11:04 2013 +0200 Fix Bug 827 - ShaderProgam helper class reports errors incorrectly commit 34b35c5a0a379a6b4c0b23b9d347a0b1338f0239 Author: Sven Gothel Date: Sat Oct 19 02:49:15 2013 +0200 Fix Bug 862: Fix GL Version Validation / NVidia GTX550 driver 331.13 - 64bit Linux - No compatibility GLProfile (GL2, >= GL3bc) Fix GL Version Validation: We shall not rely on our known good versions when validating a queried GL context version, but allow some 'room' for a higher version post JOGL release while still cutting off 'odd versions'. While GL version detection, we always iterate from the highest known version down to the lowest. Hence 'GLContext.isValidGLVersion(..)' is satisfied by validating the lowest version number but allowing a higher than known one. Now we would return 'invalid' for a version >= 6. It is enough to clip to the maximum known version when iterating, allowing the highest unknown version to be available. GLContext.isValidGLVersion(..): Returns true, if the major.minor is not inferior to the lowest valid version and does not exceed the highest known major number by more than one. The minor version number is ignored by the upper limit validation and the major version number may exceed by one. The upper limit check is relaxed since we don't want to cut-off unforseen new GL version since the release of JOGL. Hence it is important to iterate through GL version from the upper limit and 'decrementGLVersion(..)' until invalid. Add GL Version 4.4 to valid known versions. Remove ES3 desktop detection, which is impossible Regression of commit 3a0d7703da32e9a5ddf08a334f18588a78038d88 (ES3 support) commit 6aaca0f31eb25938ffab92dd19ffcaacbe5768d9 Author: Harvey Harrison Date: Fri Oct 18 00:26:18 2013 -0700 jogl: allow short-circuited comparison in comparison For this case && and & work equivalently, but using && allows the second comparison to be omitted if the first comparison is false. Likely just a typo. Signed-off-by: Harvey Harrison commit 9b2013182516b77a39123894ad1b71619bd9785b Author: Harvey Harrison Date: Fri Oct 18 00:16:51 2013 -0700 jogl: avoid creating a second String object, one is enough One String is already being built, passing it to new String() is just wasteful as the temp String can be returned just as easily. Signed-off-by: Harvey Harrison commit 5ef943ff0669e9bc6ea367703b12d89cf776f6ca Author: Harvey Harrison Date: Thu Oct 17 23:39:11 2013 -0700 jogl: fix typo in RandomTileRenderer, range chack was for tY, not tX again Signed-off-by: Harvey Harrison commit 85f1672da9cff456d24c75299fb09aa4a060bd4c Author: Harvey Harrison Date: Thu Oct 17 23:37:54 2013 -0700 jogl: allow case statements to fall through to same block This block is falling through to the next cases where there two variables are set to the same values. Just remove this block and let all cases fall through to the same block. Signed-off-by: Harvey Harrison commit a91fb6149a59393ea3491700652b9f0d562792d8 Author: Harvey Harrison Date: Thu Oct 17 23:30:56 2013 -0700 jogl: fix two impossible comparisons in glu/tessellator The comparison to Long.MAX_VALUE will never trigger as it is coparing with an int. The intent of this code appears to be to check against Integer.MAX_VALUE which is used as an error code (unable to allocate sufficiently large array) from the priorityQueue. Signed-off-by: Harvey Harrison commit f1ae8ddb87c88a57dce4593f006881ef6a7f0932 Author: Harvey Harrison Date: Thu Oct 17 22:51:47 2013 -0700 jogl: add missing @Override annotations Signed-off-by: Harvey Harrison commit 47d73819a71b7d9c4d2182a4de5712435832c5a1 Author: Sven Gothel Date: Fri Oct 18 07:36:38 2013 +0200 Bump 7u45 commit 5e9c02bce7b241a0bf95c8abca9a91cd25e51ed3 Author: Harvey Harrison Date: Thu Oct 17 22:27:27 2013 -0700 jogl: remove all trailing whitespace Signed-off-by: Harvey Harrison commit 2ebf1bf35928e35ded6e38df64dee7aa578ae3c7 Author: Sven Gothel Date: Fri Oct 18 02:27:33 2013 +0200 MouseEvent: Clarify button-number and pointer-ID relation incl. case 'no button/pointer', i.e. button == 0, pointer-ID == -1 doPointerEvent: - allow id==-1 -> button==0 for no button, i.e. mouse move doMouseEvent: - keep button 0 value, i.e. map to pointer-ID -1 commit 77b0adbdb6e361e4d5d6ca31432e8fc625d02b24 Author: Sven Gothel Date: Fri Oct 18 01:21:46 2013 +0200 AWTPrintLifecycle.setupPrint(..): Fix regression of commit a05b87a369441d9ef38f97929f866b3d4ced0e57: NULL printGLAD of GLCanvas and NewtCanvasAWT We have to pre-init printGLAD w/ current GLAD (similiar w/ GLJPanel). Also properly define reqNewGLAD: reqNewGLAD = !caps.getSampleBuffers() && ( reqNewGLADOnscrn || reqNewGLADSamples || reqNewGLADSize ); where '!caps.getSampleBuffers() && ( .. )' is due to Bug 830, swapGLContextAndAllGLEventListener and onscreen MSAA w/ NV/GLX does not work. commit 3c56d9346b9077b5eb65ec9e111917cfe17e9173 Author: Sven Gothel Date: Thu Oct 17 23:02:04 2013 +0200 Bug 800: Windows 7 Touch Event Support for NEWT: Fix Focus and LBUTTON[DOWN|UP] issues - w/ TOUCH, Win8 may steal focus (KILLFOCUS), quickly grab FOCUS again when on TOUCH operation - track 'touchDownLastUp', and don't act on LBUTTON[UP|DOWN] and MOUSEMOVE if just lifted last finger - don't use GetMessageExtraInfo() to distinguish MOUSE/TOUCH, simply use tracked touchDownCount - Also track mouseInside in TOUCH operation, i.e. true if _all_ fingers are inside, otherwise don't send TOUCH event commit 119133e89831fc837015b3f6fd7b258077c93d46 Author: Sven Gothel Date: Thu Oct 17 22:58:13 2013 +0200 WindowImpl: Fix DEBUG output's method name of doPointerEvent and consumePointerEvent commit 5b96486da0bcd09d5355f89ec551140e508b567c Author: Sven Gothel Date: Thu Oct 17 20:03:04 2013 +0200 Bug 800: Add Windows 7 Touch Event Support for NEWT Native: - WindowUserData tracks: - window size - mouse inside - pointer touch-down count and flags whether multiple-touch is supported. - Suppress WM_*BUTTON* events if within TOUCH operations, e.g. fingers are pressed, or if event is determined as TOUCH (0 != GetMessageExtraInfo()) - MOUSEMOVE issues NewtWindows_trackPointerLeave(..) directly if no TOUCH operation is in process. Removes need for MouseListener on Java side. - TOUCH events are send as follows: - PRIMARY first - 1 MOVE 2nd (if not sent already) - UP/DOWN (if not sent already) We only send max. one MOVE event, since Win7 / Win8 assignes MOVE per default, even if no actual move happened. Hence a single MOVE event shall suffice and is compatible w/ e.g. Android (AFAIK). - TOUCH pointer names are mapped to consecutive IDs on the java side. commit 0eceb7df4b04a183a738474c0d7f4be41b6bcc0c Author: Sven Gothel Date: Thu Oct 17 19:37:31 2013 +0200 WindowImpl.doPointerEvent(..) Simplify pointer name->ID mapping, fix DEBUG. commit d9fba0ea89ae71ce29fb528593fee24707b896ad Author: Sven Gothel Date: Thu Oct 17 18:02:07 2013 +0200 Regression of commit a90bf31f8747dd38c61d518f8af4d4d4a64a8e90: 'consumeEvent(Event ..)' must be protected and non-final Overriding by impl. class allowed. commit 8815245ebb9efc6d49052ff1fb34a3ee6ecfcc6b Author: Sven Gothel Date: Thu Oct 17 17:57:31 2013 +0200 NEWT Multiple-Pointer API: Use PointerType[] instead of ordinal int[], implementer can use PointerType.valuesOf(int[] ordinals) to convert. Enhanced API doc. Methods 'final' commit 202834f148e0eb8c435af02850085d582b3006a4 Author: Sven Gothel Date: Thu Oct 17 17:25:38 2013 +0200 Refine Int -> Enum conversion (commit 40863632d1428de015099b5967e5136425e99f25), throw IllegalArgumentException if ordinal is out-of-range. Add API doc. - FFMPEGNatives - MouseEvent.PointerType commit c9837ef133ff3465d9b06f1907a7a320181ec97c Author: Sven Gothel Date: Thu Oct 17 07:57:02 2013 +0200 PinchToZoomGesture: Validate pointer-IDs, skip if invalid. commit a90bf31f8747dd38c61d518f8af4d4d4a64a8e90 Author: Sven Gothel Date: Thu Oct 17 07:56:20 2013 +0200 NEWT PointerEvent: Unify event processing in new doPointerEvent(..) and consumePointerEvent(..) - Unifies native mouse and Android's pointer event, ready for Win7 touch Unify event processing in new doPointerEvent(..), which is also invoked from doMouseEvent(..), and consumePointerEvent(). doPointerEvent(..): Validates and modifies event data and finally creates the event, where consumePointerEvent(..) calls gesture handlers and may synthesize events. Unifies native mouse and Android's pointer event, ready for Win7 touch. AndroidNewtEventFactory calls doPointerEvent(..) directly. Removed lots of duplicated pointer event handling code. commit 40863632d1428de015099b5967e5136425e99f25 Author: Sven Gothel Date: Thu Oct 17 05:25:59 2013 +0200 Int -> Enum using EnumClass.values()[ordinal] instead of for-loop - FFMPEGNatives's Enums and new MouseEvent.PointerType.valueOf(int) commit 56322e1cf41bbb5bcc097164fb3ddcc0061c1c73 Author: Sven Gothel Date: Thu Oct 17 04:56:31 2013 +0200 MouseEvent: Clarify 'Multiple-Pointer' w/ button[mask] semantics, ; InputEvent: getButtonDownCount() and isAnyButtonDown(); - Clarify 'Multiple-Pointer' w/ button[mask] semantics - Pointer IDs start w/ 0 and are consecutive numbers. - 'button' == triggering pointer-ID - buttonMask in modifiers show pressed button _and_ pointer-IDs - deprecated BUTTON_NUMBER -> use BUTTON_COUNT (name semantics) commit b831ebadcaea1eea7370f7ec0bffc59eaba7a5ba Author: Sven Gothel Date: Wed Oct 16 14:28:27 2013 +0200 Add efficient set(..all..) to Dimension, Insets, Point and Rectangle of NativeWindow's util types. commit 12d1142d197afb17828056252282fb5a6186b325 Author: Sven Gothel Date: Wed Oct 16 12:03:10 2013 +0200 Validate codebase in jnlp files, add missing codebase entries. commit a05b87a369441d9ef38f97929f866b3d4ced0e57 Author: Sven Gothel Date: Tue Oct 15 17:04:35 2013 +0200 AWTPrintLifecycle.setupPrint(..): Add optional tileWidth and tileHeight, allowing user to set custom tile size for performance evaluation/tweak commit bc72e232a4b74c2be8c91c540a7b6153bfefb8c0 Author: Sven Gothel Date: Tue Oct 15 15:36:03 2013 +0200 Bug 861 - NEWT: Unify MouseEvent Processing incl. gesture processing We processed MouseEvents within NEWT as follows: sendMouseEvent/enqueueMouseEvent -> doMouseEvent, - called by native code to be delivered via consumeMouseEvent (now or later) - events are validated (move/drag, boundaries) - missing events are synthesized (click, enter, ..) as well as in several factories, i.e.: - AWTNewtEventFactory (1:1) - AndroidNewtEventFactory - synthesized events .. (click, ..) - android typed gesture detection (drag -> 1 finger scroll..) The latter enqueues events do Window/Display directly to be consumed by WindowImpl. Then users may have their own gesture detection etc. +++ This change unifies mouse/pointer event processing within NEWT within consumeEvent(..) which represents a common entry point. Gesture processing is now realized w/ a public API - GestureHandler - GestureHandler.GestureListener - GestureHandler.GesureEvent which supplies: - default impl. of optional gesture handlers (scroll, .. - default: enabled) - public API to add/remove gesture-handler and -listener +++ This allows our impl. to scale better in support of more multiple pointer devices (-> Win7/Win8, X11, ..). commit 5ac6d508c7208ac4fe5d057a9ea1bdcba5f7b998 Author: Sven Gothel Date: Tue Oct 15 08:24:32 2013 +0200 GLMediaPlayer: Fix CameraInputScheme URI doc and Android test streams (Use mp4 instead of webm, fix Camera URI) commit b74f849c1864984e0be08fa18c9e555db701a971 Author: Sven Gothel Date: Tue Oct 15 03:55:57 2013 +0200 Cleanup DirectDataBufferInt: Fix type ; Remove unsused local vars commit 74c5332456c6faf48c0a81809969d54e056f346c Author: Michael Esemplare Date: Sun Oct 13 00:06:07 2013 +0200 Bug 365: Add unit test, which run's through most of the ScaleInternal functions for a single column image. commit 38bc1dbe6d2402218bc348516545b25e4db177b9 Author: Sven Gothel Date: Sat Oct 12 20:00:01 2013 +0200 Bug 860 - AWT Printing (AWTTilePainter): Shall use the enclosing integer rectangle of the scaled double precision clipping rect AWTTilePainter simply rounds the scaled double precision clipping rectangle to receive the integer rectangle. This leads to uncovered drawing areas, since the integer rectangle position could be greater - and the size could be smaller than the double precision source. To get the enclosing rectangle, we need to use iPos = floor(position) iSize = ceil(position+size) - floor(position) .. turns our that the double precision 'Rectangle Rectangle2D.getBounds()' already performs this math. commit 2634ce35031be322cb355e4d6055aace6a2c0619 Author: Sven Gothel Date: Sat Oct 12 19:00:15 2013 +0200 Bug 859: Let TileRenderer detect zero columns and rows in eot() where beginTile() throws an EOT IllegalStateException to avoid division by zero commit c5d5e09714875770c5287db8c5e44b84e95aec62 Author: Sven Gothel Date: Fri Oct 11 04:24:50 2013 +0200 WWW: Shorten C3D Studio & Mobile description. commit 13f8263f2a6576abc373fb25f044d553f555159d Author: Sven Gothel Date: Fri Oct 11 04:20:36 2013 +0200 Android uses-sdk: Add android:targetSdkVersion="14" (to show up for tablets) commit 43f975501d81e4a9eeff6923f337d133aefcffdf Author: Sven Gothel Date: Thu Oct 10 19:37:33 2013 +0200 Update C3D image (c3d mobile) and add c3d mobile info commit ed53220b4faccfd184b212bb89a075bfa53ea886 Author: Michael Esemplare Date: Mon Oct 7 09:29:10 2013 -0700 Fix Bug 365: Bug on javax.media.opengl.glu.GLU.gluBuild2DMipmaps Fixed convolution window widths for single column scaling.