4 years agoPinchToZoomGesture: Add ctor arg 'allowMorePointer', should be false to be more stabl... v2.1.1
Sven Gothel [Sat, 19 Oct 2013 01:40:31 +0000 (03:40 +0200)]
PinchToZoomGesture: Add ctor arg 'allowMorePointer', should be false to be more stable (i.e. only 2 pointer pressed)

4 years agoFix Bug 827 - ShaderProgam helper class reports errors incorrectly
Sven Gothel [Sat, 19 Oct 2013 01:11:04 +0000 (03:11 +0200)]
Fix Bug 827 - ShaderProgam helper class reports errors incorrectly

4 years agoFix Bug 862: Fix GL Version Validation / NVidia GTX550 driver 331.13 - 64bit Linux...
Sven Gothel [Sat, 19 Oct 2013 00:49:15 +0000 (02:49 +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.

    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)

4 years agoMerge remote-tracking branch 'hharrison/master'
Sven Gothel [Fri, 18 Oct 2013 07:43:24 +0000 (09:43 +0200)]
Merge remote-tracking branch 'hharrison/master'

4 years agojogl: allow short-circuited comparison in comparison
Harvey Harrison [Fri, 18 Oct 2013 07:26:18 +0000 (00:26 -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 <>
4 years agojogl: avoid creating a second String object, one is enough
Harvey Harrison [Fri, 18 Oct 2013 07:16:51 +0000 (00:16 -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 <>
4 years agojogl: fix typo in RandomTileRenderer, range chack was for tY, not tX again
Harvey Harrison [Fri, 18 Oct 2013 06:39:11 +0000 (23:39 -0700)]
jogl: fix typo in RandomTileRenderer, range chack was for tY, not tX again

Signed-off-by: Harvey Harrison <>
4 years agojogl: allow case statements to fall through to same block
Harvey Harrison [Fri, 18 Oct 2013 06:37:54 +0000 (23:37 -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 <>
4 years agojogl: fix two impossible comparisons in glu/tessellator
Harvey Harrison [Fri, 18 Oct 2013 06:30:56 +0000 (23:30 -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

Signed-off-by: Harvey Harrison <>
4 years agoMerge remote-tracking branch 'hharrison/master'
Sven Gothel [Fri, 18 Oct 2013 06:11:19 +0000 (08:11 +0200)]
Merge remote-tracking branch 'hharrison/master'

4 years agojogl: add missing @Override annotations
Harvey Harrison [Fri, 18 Oct 2013 05:51:47 +0000 (22:51 -0700)]
jogl: add missing @Override annotations

Signed-off-by: Harvey Harrison <>
4 years agoBump 7u45
Sven Gothel [Fri, 18 Oct 2013 05:36:38 +0000 (07:36 +0200)]
Bump 7u45

4 years agojogl: remove all trailing whitespace
Harvey Harrison [Fri, 18 Oct 2013 05:27:27 +0000 (22:27 -0700)]
jogl: remove all trailing whitespace

Signed-off-by: Harvey Harrison <>
4 years agoMouseEvent: Clarify button-number and pointer-ID relation incl. case 'no button/point...
Sven Gothel [Fri, 18 Oct 2013 00:27:33 +0000 (02:27 +0200)]
MouseEvent: Clarify button-number and pointer-ID relation incl. case 'no button/pointer', i.e. button == 0, pointer-ID == -1

  - allow id==-1 -> button==0 for no button, i.e. mouse move

  - keep button 0 value, i.e. map to pointer-ID -1

4 years agoAWTPrintLifecycle.setupPrint(..): Fix regression of commit a05b87a369441d9ef38f97929f...
Sven Gothel [Thu, 17 Oct 2013 23:21:46 +0000 (01:21 +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.

4 years agoBug 800: Windows 7 Touch Event Support for NEWT: Fix Focus and LBUTTON[DOWN|UP] issues
Sven Gothel [Thu, 17 Oct 2013 21:02:04 +0000 (23:02 +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

4 years agoWindowImpl: Fix DEBUG output's method name of doPointerEvent and consumePointerEvent
Sven Gothel [Thu, 17 Oct 2013 20:58:13 +0000 (22:58 +0200)]
WindowImpl: Fix DEBUG output's method name of doPointerEvent and consumePointerEvent

4 years agoBug 800: Add Windows 7 Touch Event Support for NEWT
Sven Gothel [Thu, 17 Oct 2013 18:03:04 +0000 (20:03 +0200)]
Bug 800: Add Windows 7 Touch Event Support for NEWT

 - 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.

4 years agoWindowImpl.doPointerEvent(..) Simplify pointer name->ID mapping, fix DEBUG.
Sven Gothel [Thu, 17 Oct 2013 17:37:31 +0000 (19:37 +0200)]
WindowImpl.doPointerEvent(..) Simplify pointer name->ID mapping, fix DEBUG.

4 years agoRegression of commit a90bf31f8747dd38c61d518f8af4d4d4a64a8e90: 'consume<Type>Event...
Sven Gothel [Thu, 17 Oct 2013 16:02:07 +0000 (18:02 +0200)]
Regression of commit a90bf31f8747dd38c61d518f8af4d4d4a64a8e90: 'consume<Type>Event(<Type>Event ..)' must be protected and non-final

Overriding by impl. class allowed.

4 years agoNEWT Multiple-Pointer API: Use PointerType[] instead of ordinal int[], implementer...
Sven Gothel [Thu, 17 Oct 2013 15:57:31 +0000 (17:57 +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'

4 years agoRefine Int -> Enum conversion (commit 40863632d1428de015099b5967e5136425e99f25),...
Sven Gothel [Thu, 17 Oct 2013 15:25:38 +0000 (17:25 +0200)]
Refine Int -> Enum conversion (commit 40863632d1428de015099b5967e5136425e99f25), throw IllegalArgumentException if ordinal is out-of-range. Add API doc.

- FFMPEGNatives
- MouseEvent.PointerType

4 years agoPinchToZoomGesture: Validate pointer-IDs, skip if invalid.
Sven Gothel [Thu, 17 Oct 2013 05:57:02 +0000 (07:57 +0200)]
PinchToZoomGesture: Validate pointer-IDs, skip if invalid.

4 years agoNEWT PointerEvent: Unify event processing in new doPointerEvent(..) and consumePointe...
Sven Gothel [Thu, 17 Oct 2013 05:56:20 +0000 (07:56 +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.

4 years agoInt -> Enum using EnumClass.values()[ordinal] instead of for-loop - FFMPEGNatives...
Sven Gothel [Thu, 17 Oct 2013 03:25:59 +0000 (05:25 +0200)]
Int -> Enum using EnumClass.values()[ordinal] instead of for-loop - FFMPEGNatives's Enums and new MouseEvent.PointerType.valueOf(int)

4 years agoMouseEvent: Clarify 'Multiple-Pointer' w/ button[mask] semantics, ; InputEvent: getBu...
Sven Gothel [Thu, 17 Oct 2013 02:56:31 +0000 (04:56 +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)

4 years agoAdd efficient set(..all..) to Dimension, Insets, Point and Rectangle of NativeWindow...
Sven Gothel [Wed, 16 Oct 2013 12:28:27 +0000 (14:28 +0200)]
Add efficient set(..all..) to Dimension, Insets, Point and Rectangle of NativeWindow's util types.

4 years agoValidate codebase in jnlp files, add missing codebase entries.
Sven Gothel [Wed, 16 Oct 2013 10:03:10 +0000 (12:03 +0200)]
Validate codebase in jnlp files, add missing codebase entries.

4 years agoAWTPrintLifecycle.setupPrint(..): Add optional tileWidth and tileHeight, allowing...
Sven Gothel [Tue, 15 Oct 2013 15:04:35 +0000 (17:04 +0200)]
AWTPrintLifecycle.setupPrint(..): Add optional tileWidth and tileHeight, allowing user to set custom tile size for performance evaluation/tweak

4 years agoBug 861 - NEWT: Unify MouseEvent Processing incl. gesture processing
Sven Gothel [Tue, 15 Oct 2013 13:36:03 +0000 (15:36 +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, ..).

4 years agoGLMediaPlayer: Fix CameraInputScheme URI doc and Android test streams (Use mp4 instea...
Sven Gothel [Tue, 15 Oct 2013 06:24:32 +0000 (08:24 +0200)]
GLMediaPlayer: Fix CameraInputScheme URI doc and Android test streams (Use mp4 instead of webm, fix Camera URI)

4 years agoCleanup DirectDataBufferInt: Fix type ; Remove unsused local vars
Sven Gothel [Tue, 15 Oct 2013 01:55:57 +0000 (03:55 +0200)]
Cleanup DirectDataBufferInt: Fix type ; Remove unsused local vars

4 years agoBug 365: Add unit test, which run's through most of the ScaleInternal functions for...
Michael Esemplare [Sat, 12 Oct 2013 22:06:07 +0000 (00:06 +0200)]
Bug 365: Add unit test, which run's through most of the ScaleInternal functions for a single column image.

4 years agoMerge pull request #71 from esemplare/master
Sven Gothel [Sat, 12 Oct 2013 21:55:20 +0000 (14:55 -0700)]
Merge pull request #71 from esemplare/master

Fix Bug 365: Bug on
I will commit your unit test manually from the bug report (pls add it to your pull request next time)
Thank you!

4 years agoBug 860 - AWT Printing (AWTTilePainter): Shall use the enclosing integer rectangle...
Sven Gothel [Sat, 12 Oct 2013 18:00:01 +0000 (20:00 +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.

4 years agoBug 859: Let TileRenderer detect zero columns and rows in eot() where beginTile(...
Sven Gothel [Sat, 12 Oct 2013 17:00:15 +0000 (19:00 +0200)]
Bug 859: Let TileRenderer detect zero columns and rows in eot() where beginTile() throws an EOT IllegalStateException to avoid division by zero

4 years agoWWW: Shorten C3D Studio & Mobile description.
Sven Gothel [Fri, 11 Oct 2013 02:24:50 +0000 (04:24 +0200)]
WWW: Shorten C3D Studio & Mobile description.

4 years agoAndroid uses-sdk: Add android:targetSdkVersion="14" (to show up for tablets)
Sven Gothel [Fri, 11 Oct 2013 02:20:36 +0000 (04:20 +0200)]
Android uses-sdk: Add android:targetSdkVersion="14" (to show up for tablets)

4 years agoUpdate C3D image (c3d mobile) and add c3d mobile info
Sven Gothel [Thu, 10 Oct 2013 17:37:33 +0000 (19:37 +0200)]
Update C3D image (c3d mobile) and add c3d mobile info

4 years agoBug 852: Validate CPU sourced data API is allowed, throw exception if not. GLContext... v2.1.0
Sven Gothel [Thu, 10 Oct 2013 11:16:39 +0000 (13:16 +0200)]
Bug 852: Validate CPU sourced data API is allowed, throw exception if not. GLContext: isCPUSourcedAvail() -> isCPUDataSourcingAvail()

4 years agoBug 852: Remove CPU sourced data API entry where not allowed (ES3 and GL core >=...
Sven Gothel [Thu, 10 Oct 2013 00:15:56 +0000 (02:15 +0200)]
Bug 852: Remove CPU sourced data API entry where not allowed (ES3 and GL core >= 3.0) ; GL2 cfg: Ignore GL2ES3 symbols (super)

Remove CPU sourced data API entries via new config 'BufferObjectOnly  <name>',
listed in 'gl-common-gpubufferonly.cfg' and included in ES3 and all GL core >= 3 interfaces.

If BufferObjectOnly is defined for a function, only the 'long offset' variant is being emitted.

Due to limitations of GlueGen's 'ExtendedInterfaceSymbolsIgnore', which only
identifies the function name and not the signature - all CPU sourced variants
are manually added to the compatibility and ES2 GL profiles via '*' files.

GLContext: Added 'isCPUSourcedAvail()' to determine whether context allows CPU sourced data,
i.e. for GL2ES1 and GLES2 ctx.

GLContext/GLProfile/GL: isGLES2() now returns false if having a ES3 context due to 'CPU sourced'


GL2 cfg: Added ignore GL2ES3 symbols of it's superclass, removing duplicated symbols.

4 years agoNEWT Reparent/Fullscreen: Add 'waitForPosition(..)' when reparenting or back from...
Sven Gothel [Wed, 9 Oct 2013 15:12:33 +0000 (17:12 +0200)]
NEWT Reparent/Fullscreen: Add 'waitForPosition(..)' when reparenting or back from fullscreen; JOGLNewtAppletBase: Reparent to pos 32/32, trying to avoid browser window focus/top stealing on X11.

4 years agoBug816 OSX CALayer: Issue w/ JSplitPane within Apple (Firefox, Safari - not appletvie...
Sven Gothel [Wed, 9 Oct 2013 05:17:37 +0000 (07:17 +0200)]
Bug816 OSX CALayer: Issue w/ JSplitPane within Apple (Firefox, Safari - not appletviewer) when move horizontal slider (vertical: ok)

Moving horizontal slider if run as applet (Firefox, Safari - not appletviewer)
doesn't move the GLCanvas even though it is resized.

4 years agoNewtCanvasAWT Focus Traversal: Remove AWT's requestFocus*() overrides in favor of...
Sven Gothel [Wed, 9 Oct 2013 03:29:08 +0000 (05:29 +0200)]
NewtCanvasAWT Focus Traversal: Remove AWT's requestFocus*() overrides in favor of FocusPropertyChangeListener requestFocusNEWTChild()

The AWT's requestFocus*() overrides were intended to receive the AWT focus (default) and
clear it afterwards to forward the focus to the NEWT component -> requestFocusNEWTChild().

This can be achieved simply by using our FocusPropertyChangeListener
and invoking requestFocusNEWTChild() when receiving the focus on the NewtCanvasAWT component.

4 years agoNEWT Reparent/Fullscreen: Fixes X11 unsuccessful return to parent window; Add reparen...
Sven Gothel [Wed, 9 Oct 2013 03:24:45 +0000 (05:24 +0200)]
NEWT Reparent/Fullscreen: Fixes X11 unsuccessful return to parent window; Add reparentWindow(..) top-level position arguments; Misc

- Fixes X11 unsuccessful return to parent window
  On X11 when returning to parent window (-> CHILD),
  we have to set the window invisible and wait for the result.
  Otherwise it sometimes happens that the WM's reparent operation fails,
  i.e. the window won't become a child of desired parent and is positioned randomly.

- Add reparentWindow(..) top-level position arguments
  .. allows bringing the child-window to top-level w/ a desired position.
  Otherwise the window would be positioned elsewhere as a top-level
  as the plain reparenting operation.

  X11 needs to set position and size _after_ making the window visible,
  otherwise WM may ignore the XConfigureWindow request.

- Reparent recreate shall always store the desired position and size
  On OSX/CALayer when recreation is being used, we need to store the pos/size
  for later creation.

- Tests: Use 'NewtAWTReparentingKeyAdapter' where possible (reparent/fullscreen)
  instead of duplicating such code.

  NewtAWTReparentingKeyAdapter: Performs reparenting and fullscreen operations
  off-thread (i.e. not on AWT/NEW EDT) while decorating the action w/
  revoking/restoring the ExclusiveContextThread (ECT).

Manually tested 'TestGearsES2NewtCanvasAWT' reparenting and fullscreen
on X11, Windows and OSX/CALayer w/ JDK 7u40 successful.

4 years agoNEWT Display: Issue EDTUtil.start() at runOnEDTIfAvail(..) even if on EDT, which...
Sven Gothel [Wed, 9 Oct 2013 00:10:19 +0000 (02:10 +0200)]
NEWT Display: Issue EDTUtil.start() at runOnEDTIfAvail(..) even if on EDT, which is to be stopped.

This case appears on e.g. OSX/CALayer (offscreen) reparenting using recreation (onscreen <-> offscreen),
i.e. display destroy/create is performed on EDT.

Misc Cleanup:

- Rename EDTUtil: restart() -> start()

- Rename Display: validateEDT() -> validateEDTStopped()

- Simplify Display.setEDTUtil(..): Remove need for redundant 'newEDTUtil' local var.

- Simplify Display.runOnEDTIfAvail(..): edtUtil is never null

4 years agoNEWT/OSX (Bug 836): Only WindowDriver.initWindow0(..) operation on main-thread must...
Sven Gothel [Tue, 8 Oct 2013 23:53:53 +0000 (01:53 +0200)]
NEWT/OSX (Bug 836): Only WindowDriver.initWindow0(..) operation on main-thread must be synchronized (wait-until-done)

- Leave WindowDriver.close0(..) w/o sync

4 years agoFix Bug 365: Bug on
Michael Esemplare [Mon, 7 Oct 2013 16:29:10 +0000 (09:29 -0700)]
Fix Bug 365: Bug on
Fixed convolution window widths for single column scaling.

4 years agoNEWT/OSX (Bug 836): Lifecycle operations performed on main-thread must be synchronize...
Sven Gothel [Mon, 7 Oct 2013 05:47:12 +0000 (07:47 +0200)]
NEWT/OSX (Bug 836): Lifecycle operations performed on main-thread must be synchronized (wait-until-done)

Wait-until-done (main thread):
  - WindowDriver.close0(..)
  - WindowDriver.initWindow0(..)

Otherwise a re-queued operation (i.e. CALayer attachment)
will mixup the order ..

Experienced w/ fullscreen exit.

4 years agoNEWT/Fullscreen (Bug 836): Exit re-parenting fullscreen w/ [invisible-exit-visible...
Sven Gothel [Mon, 7 Oct 2013 05:41:30 +0000 (07:41 +0200)]
NEWT/Fullscreen (Bug 836): Exit re-parenting fullscreen w/ [invisible-exit-visible] (-> like reparent); Always force focus; X11: Always use ALWAYSONTOP.

- Remove unused 'fullscreenUseSpanningMode' state

- Exit re-parenting fullscreen w/ [invisible-exit-visible] (-> like reparent)
  solves X11 issue, where the NEWT window doesn't 'return to it's parent'.
  Probably also fixes Bug 836!

- Always force focus when enter and exit FS

- X11: Always use ALWAYSONTOP
  No reason to behave different (spanning and normal-fs)

4 years agoNativeWindow/OSX: Fix RunOnThread/RunLater - Properly determine 'forkOnMain' via...
Sven Gothel [Mon, 7 Oct 2013 05:36:17 +0000 (07:36 +0200)]
NativeWindow/OSX: Fix RunOnThread/RunLater - Properly determine 'forkOnMain' via onMain && ( isOnMain || 0 < delay )

4 years agoFFMPEGMediaPlayer: Use IOUtil.decodeFromURI(..) to unescape %20
Sven Gothel [Sun, 6 Oct 2013 23:08:06 +0000 (01:08 +0200)]
FFMPEGMediaPlayer: Use IOUtil.decodeFromURI(..) to unescape %20

4 years agoBug 729, Bug 849: Honor JAWTWindow's [parent] visibility state
Sven Gothel [Sun, 6 Oct 2013 19:25:42 +0000 (21:25 +0200)]
Bug 729, Bug 849: Honor JAWTWindow's [parent] visibility state

JAWTWindow snoops HierarchyEvents for SHOWING_CHANGED to
track local component's visibility state as well as it's global visibility state.
The later is determined by it's parent's visibility change.

If 'removeNotify()' is called, component's visibility is reset to it's local visibility state.

Fixes OSX CALayer component's visibility if parent's visibility changes (Bug 729).

Fixes continuous GL rendering if parent is invisible (Bug 849).

4 years agoBug 789: glDrawArraysIndirect and glDrawElementsIndirect are using GL_DRAW_INDIRECT_B...
Sven Gothel [Sun, 6 Oct 2013 13:56:44 +0000 (15:56 +0200)]
Bug 789: glDrawArraysIndirect and glDrawElementsIndirect are using GL_DRAW_INDIRECT_BUFFER, add VBO variant and range-check

4 years agoBug 729: OSX CALayer invisible needs to have opacity 0 to not show hidden component.
Sven Gothel [Sun, 6 Oct 2013 00:28:14 +0000 (02:28 +0200)]
Bug 729: OSX CALayer invisible needs to have opacity 0 to not show hidden component.

Completes commit 3b02a219b1b9e446e87df1beb7da4266f74824fa

See unit test: TestBug816OSXCALayerPos03AWT

4 years agoBug816 OSX CALayer: getLocationOnScreenNonBlocking(..) stop traversing at top-level...
Sven Gothel [Sat, 5 Oct 2013 14:13:56 +0000 (16:13 +0200)]
Bug816 OSX CALayer: getLocationOnScreenNonBlocking(..) stop traversing at top-level heavyweight Window, fixes [J]Dialog use case.

Top-level heavyweight Window's position is it's position on screen, hence stop traversing.

Thx to Emmanuel Puybaret for pointing this out.

Adding Dialog and JDialog unit tests as inspired by Emmanuel Puybaret.

4 years agotest scripts (test Bug 729 w/ TestAWTCardLayoutAnimatorStartStopBug532)
Sven Gothel [Sat, 5 Oct 2013 11:45:40 +0000 (13:45 +0200)]
test scripts (test Bug 729 w/ TestAWTCardLayoutAnimatorStartStopBug532)

4 years agoBug 729: OSX CALayer shall honor the Component's visibility state
Sven Gothel [Sat, 5 Oct 2013 11:44:43 +0000 (13:44 +0200)]
Bug 729: OSX CALayer shall honor the Component's visibility state

A once visible CALayer (GLCanvas) must be able to become invisible w/o destruction,
e.g. as required by CardLayout's switching cards.

See unit test for Bug 532: 'TestAWTCardLayoutAnimatorStartStopBug532'

Out native 'fixCALayerLayout(..)' takes the visible state as tracked by JAWTWindow's ComponentListener
and sets our CALayer (root and sub) hidden state accordingly.

Now MacOSXJAWTWindow's layoutSurfaceLayerImpl(..) always calls down to 'fixCALayerLayout(..)'
due to update the visibility state.

4 years agoBug 816/848: Cleanup test applet layout/size ; Note Bug 848: Not reproducible after...
Sven Gothel [Fri, 4 Oct 2013 19:08:45 +0000 (21:08 +0200)]
Bug 816/848: Cleanup test applet layout/size ; Note Bug 848: Not reproducible after restart of OSX test machine!

4 years Add
Sven Gothel [Fri, 4 Oct 2013 17:01:29 +0000 (19:01 +0200)] Add

4 years agoBug 848: Add test applet ; Bug 816 Bug816AppletGLCanvas02: Remove 2nd Animator ;...
Sven Gothel [Fri, 4 Oct 2013 17:00:28 +0000 (19:00 +0200)]
Bug 848: Add test applet ; Bug 816 Bug816AppletGLCanvas02: Remove 2nd Animator ; Fix intendation (TAB -> WS)

4 years agoBug 818: Add missing html file for applet unit test of commit 51ea4e5d5d212dfef519cf8...
Sven Gothel [Fri, 4 Oct 2013 07:25:13 +0000 (09:25 +0200)]
Bug 818: Add missing html file for applet unit test of commit 51ea4e5d5d212dfef519cf824d6cbf69e41bebc7

4 years agoAWTTilePainter: Avoid NPE if Graphic2D's AffineTransform is null, use identity tranfo...
Sven Gothel [Thu, 3 Oct 2013 21:39:43 +0000 (23:39 +0200)]
AWTTilePainter: Avoid NPE if Graphic2D's AffineTransform is null, use identity tranform in such case.

4 years agoBug 818: Enable new quirk GLSLNonCompliant on OSX < 10.7 w/ NV GPU; GLJPanel: Don...
Sven Gothel [Thu, 3 Oct 2013 18:21:23 +0000 (20:21 +0200)]
Bug 818: Enable new quirk GLSLNonCompliant on OSX < 10.7 w/ NV GPU; GLJPanel: Don't use GLSL flip if quirk GLSLNonCompliant is present.

4 years agoBug 548: GLRendererQuirks.GLFlushBeforeRelease is needed on OSX < 10.7.3 w/ NV GPU...
Sven Gothel [Thu, 3 Oct 2013 17:15:25 +0000 (19:15 +0200)]
Bug 548: GLRendererQuirks.GLFlushBeforeRelease is needed on OSX < 10.7.3 w/ NV GPU [was comparing against 1.7.3 instead 10.7.3] !

4 years agoBug 816 (OSX CALayer pos): Add detailed description (pseudo code) to JAWTUtil.JAWT_OS...
Sven Gothel [Thu, 3 Oct 2013 13:35:09 +0000 (15:35 +0200)]
Bug 816 (OSX CALayer pos): Add detailed description (pseudo code) to JAWTUtil.JAWT_OSX_CALAYER_QUIRK_LAYOUT

4 years agoBug 816 (OSX CALayer pos): Fix location on 'inner CALayer' calculation
Sven Gothel [Thu, 3 Oct 2013 13:19:29 +0000 (15:19 +0200)]
Bug 816 (OSX CALayer pos): Fix location on 'inner CALayer' calculation

'inner CALayer' is the outter AWT Window client space (content).


  p0 = c.locationOnScreen();
  p0 -= c.getOutterComp.getPos();
  p0 -= c.getOutterComp.getInsets();

Where 'locationOnScreen()' is:
 p0 = 0/0;
 while( null != c ) {
   p0 += c.getPos();


JAWTWindow.getLocationOnScreenNonBlocking(..) validated against
AWT's Component.getLocationOnScreen() - OK for all use-cases.
(Validation enabled w/ DEBUG)

All unit tests manually validated on OSX 10.7 w/ jdk7u40.

4 years agoBug 816: Add 2 more unit tests (Swing JFrame w/ 2 JRootPanes, AWT Frame BorderLayout...
Sven Gothel [Thu, 3 Oct 2013 13:07:07 +0000 (15:07 +0200)]
Bug 816: Add 2 more unit tests (Swing JFrame w/ 2 JRootPanes, AWT Frame BorderLayout w/ Checkbox North, GLCanvas Center)

Thx to Emmanuel Puybaret

4 years agoBug818GLJPanelApplet: Remove unused imports
Sven Gothel [Wed, 2 Oct 2013 22:22:15 +0000 (00:22 +0200)]
Bug818GLJPanelApplet: Remove unused imports

4 years agoGLJPanel: Fix 7u40 access to property 'sun.java2d.opengl'. Property was trusted before ..
Sven Gothel [Wed, 2 Oct 2013 22:03:27 +0000 (00:03 +0200)]
GLJPanel: Fix 7u40 access to property 'sun.java2d.opengl'. Property was trusted before ..

4 years agoBug 818 (OSX 10.6.8 NVIDIA GeForce GT 330M): Add unit test (manual applet)
Sven Gothel [Wed, 2 Oct 2013 22:02:20 +0000 (00:02 +0200)]
Bug 818 (OSX 10.6.8 NVIDIA GeForce GT 330M): Add unit test (manual applet)

4 years agoAdd notice about 'GL states' regarding GLSL vertical flip (Bug 842 and Bug 826).
Sven Gothel [Wed, 2 Oct 2013 14:29:37 +0000 (16:29 +0200)]
Add notice about 'GL states' regarding GLSL vertical flip (Bug 842 and Bug 826).

4 years agoGLJPanel/AWTGLPixelBuffer: Reused BufferedImage didn't account for row-stride (regres...
Sven Gothel [Tue, 1 Oct 2013 23:12:20 +0000 (01:12 +0200)]
GLJPanel/AWTGLPixelBuffer: Reused BufferedImage didn't account for row-stride (regression of b33bdf41cf53f37203643a8551bf5d94b42a8fab)

SingleAWTGLPixelBufferProvider w/ allowing row-stride reuses the AWTGLPixelBuffer and it's BufferedImage
even w/ different width.

This leads to distortion if using the BufferedImage unhandled.

GLJPanel also set GL_PACK_ROW_LENGTH to pixelBuffer.width, which leads to an 'out-of-bounds'
exception if ReadPixels is used w/ panelwidth and panelHeight.


Introduce AWTGLPixelBuffer.getAlignedImage(width, height) which returns an aligned
BufferedImage while reusing the DataBuffer.

GLJPanel fetches a new alignedImage if required.

This allows a more efficient single buffer usage as intended, w/o the need of copying data.

4 years agotest scripts/ Remove JogAmp *LD_LIBRARY_PATH components.
Sven Gothel [Tue, 1 Oct 2013 13:36:56 +0000 (15:36 +0200)]
test scripts/ Remove JogAmp *LD_LIBRARY_PATH components.

4 years agoGLJPanel/Printing: Perform backend.reshape immediatly after printing if resized;...
Sven Gothel [Sun, 29 Sep 2013 08:25:32 +0000 (10:25 +0200)]
GLJPanel/Printing: Perform backend.reshape immediatly after printing if resized; Add unit test for resize while printing.

Perform immediatly reshape at releasePrint on AWT-EDT:
  - sendReshape = handleReshape(); // reshapeSize -> panelSize, backend reshape w/ GL reshape

4 years agoGLJPanel: Remove forced DEBUG .. at handleReshape in releasePrint (added w/ commit...
Sven Gothel [Sat, 28 Sep 2013 02:27:05 +0000 (04:27 +0200)]
GLJPanel: Remove forced DEBUG .. at handleReshape in releasePrint (added w/ commit fe284b515d984198fdbe702837809f181625a457)

4 years agoFix TileRenderer regression of commit c8abb9d2c9a8c92f0c5c42aba13e3e80c69739dc: Test...
Sven Gothel [Sat, 28 Sep 2013 02:08:59 +0000 (04:08 +0200)]
Fix TileRenderer regression of commit c8abb9d2c9a8c92f0c5c42aba13e3e80c69739dc: Test isSetup() _after_ running glEventListenerPre.

glEventListenerPre may be utilized to setup the TileRenderer.

4 years agoAWT Printing: releasePrint() issue reshape from AWT-EDT; GLJPanel: Issue 'handleResha...
Sven Gothel [Sat, 28 Sep 2013 02:03:04 +0000 (04:03 +0200)]
AWT Printing: releasePrint() issue reshape from AWT-EDT; GLJPanel: Issue 'handleReshape' if panelSize/awtSize mismatch, otherwise 'sendReshape' and exception if offscreen size doesn't match panelSize.

4 years agoTileRendererBase.GLEL.display(): Skip tile-rendering if TR is not yet setup. Sync...
Sven Gothel [Fri, 27 Sep 2013 23:52:39 +0000 (01:52 +0200)]
TileRendererBase.GLEL.display(): Skip tile-rendering if TR is not yet setup. Sync issue w/ NEWT/AWT based GLAD

NEWT based GLDrawables may trigger GLAD display() via native repaint events.

If using in conjunction w/ AWT, i.e. NewtCanvasAWT and setupPrinting(..) has been called
and it's attched to the TR .. it could happen that display tries to issue beginTile()
before the TR is being setup.

This patch mitigates this issue (while not removing it) by querying whether setup is completed.

4 years agoFix AWT Printing: Use delegated GLDrawable's size for tile-size instead of AWT-GLAD...
Sven Gothel [Fri, 27 Sep 2013 23:48:45 +0000 (01:48 +0200)]
Fix AWT Printing: Use delegated GLDrawable's size for tile-size instead of AWT-GLAD's size, since the latter uses AWT's component size.

.. the AWT component size could have been modified after setupPrinting(..).

The AWT-GLAD getWidth() and getHeight() is implemented by AWT's component
and hence may not reflect the actual GLDrawable size while printing.

4 years agoBug 816: Clarify JAWT_OSX_CALAYER_QUIRK_* semantics, add JAWT_OSX_CALAYER_QUIRK_LAYOUT
Sven Gothel [Fri, 27 Sep 2013 22:20:50 +0000 (00:20 +0200)]

4 years agoTest applets .. change font of misc test section.
Sven Gothel [Fri, 27 Sep 2013 18:25:40 +0000 (20:25 +0200)]
Test applets .. change font of misc test section.

4 years agoFix Bug 816: JAWTWindow.getLocationOnScreenNonBlocking(..) shall use JRootPane for...
Sven Gothel [Fri, 27 Sep 2013 13:31:17 +0000 (15:31 +0200)]
Fix Bug 816: JAWTWindow.getLocationOnScreenNonBlocking(..) shall use JRootPane for last position offset; AWTMisc.getInsets(..) add special JRootPane case.

Please note that we use JAWTWindow.getLocationOnScreenNonBlocking(..) to determine the
location on the screen 'only' b/c we cannot allow AWT to aquire the tree-lock!
The latter would be the case if using AWT's 'getLocationOnScreen()'.

If anybody has a more reliable implementation to achieve the same .. please provide your patch!

The following fix has been performed to fix the last issue w/ vZome.

- JAWTWindow.getLocationOnScreenNonBlocking(..) shall use JRootPane for last position offset
  - w/ vZome, the frame's position was 0/0 (invalid), instead JRootPane's position is good.
    Use JRootPane's position and stop traversing here (LW top-level).

- AWTMisc.getInsets(..) add special JRootPane case.
+     * Exception is JRootPane.
+     * Return it's parent's Window component's insets if available,
+     * otherwise return JRootPane's insets.<br>
+     * This is due to <i>experience</i> that <i>some</i> JRootPane's
+     * do not expose valid insets value.

4 years agoTest AWT Printing: Frame size contains border/insets, use as-is for scaling; Only...
Sven Gothel [Fri, 27 Sep 2013 11:49:59 +0000 (13:49 +0200)]
Test AWT Printing: Frame size contains border/insets, use as-is for scaling; Only force TEXT AA print-rendering hint.

4 years agoBug 816: Fix JAWTWindow's getLocationOnScreenNonBlocking(); Derive CALayer position...
Sven Gothel [Fri, 27 Sep 2013 11:23:39 +0000 (13:23 +0200)]
Bug 816: Fix JAWTWindow's getLocationOnScreenNonBlocking(); Derive CALayer position from AWT component's location on screen. Track fixedFrame size of root CALayer; Add Split layout to unit test, add [manual] Applet tests.

- Fix JAWTWindow's getLocationOnScreenNonBlocking()
  Skip JRootPane while traversing up to root Container.
  JRootPane would duplicate the top-level container's offset (Window insets).

- Derive CALayer position from AWT component's location on screen. Add Split layout to unit test, add [manual] Applet tests.
  AWT >= 7u40:
  - AWT position is top-left w/ insets, where CALayer position is bottom/left from root CALayer w/o insets.
  - Use getLocationOnScreenNonBlocking() to get location-on-screen w/o insets.
  - Native code: flip origin

  AWT < 7u40 still uses fixed position 0/0 for root and sub layer.

- Track fixedFrame size of root CALayer - MyCALayer:
  - Override layoutSublayers to validate root and sub-layer pos/size
  - Override setFrame to use fixedFrame, if set (similar to MyNSOpenGLLayer)

- Add Split layout to unit test, add [manual] Applet tests.
  - Thx to 'jimthev' and 'Manu' for providing Applet unit tests

4 years agoTileRenderer*: TileRendererNotify -> TileRendererListener w/ clarifying functionality...
Sven Gothel [Fri, 27 Sep 2013 05:13:24 +0000 (07:13 +0200)]
TileRenderer*: TileRendererNotify -> TileRendererListener w/ clarifying functionality (reshapeTile(..), ..); Only process GLEventListener impl. TileRendererListener; attachToAutoDrawable -> attachAutoDrawable, etc.

-TileRendererNotify -> TileRendererListener
  - Added methods:
    - void reshapeTile(TileRendererBase tr,int tileX, int tileY, int tileWidth, int tileHeight, int imageWidth, int imageHeight);
    - void startTileRendering(TileRendererBase tr);
    - void endTileRendering(TileRendererBase tr);

  allowing to clarify user code and API specification,
  i.e. TR only processes GLEventListener which impl. TileRendererListener.

  This also allows simplifying the API doc, while having a more descriptive
  reshape method focusing solely on tile rendering.

  Further more, the start/end TR methods allow certain GL related actions
  while the context is current before and after iterating through the tiles.
  This is even used for RandomTileRenderer (one tile only), to allow
  to reuse same TileRendererListener for diff TRs.

- Fix language, attach and detach usage was vice versa. We do attach an GLAutoDrawable to a TR
  - attachToAutoDrawable -> attachAutoDrawable
  - detachFromAutoDrawable -> detachAutoDrawable

- Adapted unit tests.

4 years agoDirectDataBufferInt: createBufferedImage(..) use BufferedImage type value instead...
Sven Gothel [Thu, 26 Sep 2013 23:53:18 +0000 (01:53 +0200)]
DirectDataBufferInt: createBufferedImage(..) use BufferedImage type value instead of component-count, support all int types ; Add type 'BufferedImageInt' preserving the custom image-type, add note about TYPE_CUSTOM

- createBufferedImage(..) use BufferedImage type value instead of component-count, support all int types
  - Support all integer data image-type, hence we need to pass image-type instead of component count (collision).
  - Also pass 'properties' to allow configuring all BufferedImage parameters (just in case)
  - Return BufferedImageInt to allow user to query the used image-type, see below.

- Add type 'BufferedImageInt' preserving the custom image-type, add note about TYPE_CUSTOM
  - Simply extends BufferedImage w/ custom image-type, since BufferedImage's type is TYPE_CUSTOM
    due to our custom storage type (see API doc comment).

Unit tests:
  - Testing all integer image-type's in
    - TestTiledPrintingGearsSwingAWT
    - TestTiledPrintingNIOImageSwingAWT

  - Disable all AA print-hints, all AWT text visible on X11.
    Probably has a regression on Windows / OSX .. TBD.

4 years agoFix MovieCube/Simple Demo in 'Applet' mode: Use default ctor to completly initialize...
Sven Gothel [Wed, 25 Sep 2013 03:57:43 +0000 (05:57 +0200)]
Fix MovieCube/Simple Demo in 'Applet' mode: Use default ctor to completly initialize GLMediaPlayer demo w/ def. stream etc; Fix list of command keys in applet html page.

4 years agoOSXMisc.c: Fix compilation error w/ java6's jint definition (probably clang as well)
Sven Gothel [Wed, 25 Sep 2013 00:08:42 +0000 (02:08 +0200)]
OSXMisc.c: Fix compilation error w/ java6's jint definition (probably clang as well)

Regression of commit 4b5435c68c3f12d62dadb395957362eceacfb25c

4 years agoBug 816: Fix OSX CALayer 'quirks' for AWT 1.7.0_40 - See JAWTUtil JAWT_OSX_CALAYER_QU...
Sven Gothel [Tue, 24 Sep 2013 21:13:16 +0000 (23:13 +0200)]

- Provide quirk bits for OSX CALayer depending on used JVM/AWT
  and act accordingly.

- TestBug816OSXCALayerPosAWT: Add resize by frame

4 years agoTileRendererBase: Remove redundant reshape propagation of atached GLEL, call pre...
Sven Gothel [Tue, 24 Sep 2013 18:15:51 +0000 (20:15 +0200)]
TileRendererBase: Remove redundant reshape propagation of atached GLEL, call pre/post reshape in it's display method instead.

4 years agoBug 816: Add unit test 'TestBug816OSXCALayerPosAWT'
Sven Gothel [Tue, 24 Sep 2013 09:04:24 +0000 (11:04 +0200)]
Bug 816: Add unit test 'TestBug816OSXCALayerPosAWT'

5 years agoFix Bug 840: DefaultEDTUtil.restart() shall only reuse ThreadGroup (tg) is not destro...
Sven Gothel [Sun, 22 Sep 2013 00:35:11 +0000 (02:35 +0200)]
Fix Bug 840: DefaultEDTUtil.restart() shall only reuse ThreadGroup (tg) is not destroyed, otherwise use current thread's tg.

With jdk7u40, when re-launching a NEWT applet (JOGLNewtApplet1Run),
i.e. via browser back and forth, the following exception happens:

java.lang.RuntimeException: java.lang.IllegalThreadStateException
    at com.jogamp.newt.awt.applet.JOGLNewtApplet1Run.init(
    at com.sun.deploy.uitoolkit.impl.awt.AWTAppletAdapter.init(Unknown Source)
    at sun.plugin2.applet.Plugin2Manager$ Source)
    at Source)
Caused by: java.lang.IllegalThreadStateException
    at java.lang.ThreadGroup.addUnstarted(Unknown Source)
    at java.lang.Thread.init(Unknown Source)
    at java.lang.Thread.<init>(Unknown Source)
    at jogamp.newt.DefaultEDTUtil$NEDT.<init>(
    at jogamp.newt.DefaultEDTUtil.restart(
    at jogamp.newt.DisplayImpl.runOnEDTIfAvail(
    at jogamp.newt.WindowImpl.runOnEDTIfAvail(
    at jogamp.newt.WindowImpl.setUndecorated(
    at com.jogamp.newt.opengl.GLWindow.setUndecorated(
    at com.jogamp.newt.awt.applet.JOGLNewtApplet1Run.init(
    ... 3 more

This is due to 7u40's changed ThreadGroup (tg) lifecycle, i.e. the tg is destroyed.
In such case, DefaultEDTUtil.restart() shall use the current threads tg.

5 years agoFix Bug 839: Clarify whether resetStates(..) shall clearStates() - Pass 'isInit'...
Sven Gothel [Sat, 21 Sep 2013 03:19:32 +0000 (05:19 +0200)]
Fix Bug 839: Clarify whether resetStates(..) shall clearStates() - Pass 'isInit' flag.

5 years agoAWT Printing: Fix non vertical-flipped printing, i.e. cut-off top-row's tile upper...
Sven Gothel [Fri, 20 Sep 2013 10:29:49 +0000 (12:29 +0200)]
AWT Printing: Fix non vertical-flipped printing, i.e. cut-off top-row's tile upper area, cleanup.

TestTiledPrintingGearsSwingAWT2: Provoked !flipped bug where top-row was positioned too low
due to using full size tile-height.

Cutting of the unused top-row's upper area corrects this issue.

vertical-flip mode does not expose this situation, since flipping
shifts the payload to the upper tile area.

TestTiledPrintingGearsSwingAWT2: Also tests an alternative transparent overlapping mode
without layout.

5 years agoFix Bug 826: GLJPanel: Fully restore TextureState and Viewport
Sven Gothel [Fri, 20 Sep 2013 10:18:48 +0000 (12:18 +0200)]
Fix Bug 826: GLJPanel: Fully restore TextureState and Viewport

In FBO mode save TextureState of current texture-unit,
as well as for the fbo texture-unit if the latter is a different.

In glslTextureRaster mode for verical flip (using FBO),
set the viewport to drawable size if before flipping and restore afterward - if equired.

TestGLJPanelTextureStateAWT fully tests use cases:
  - Keep texture bound w/ same or other texture-unit
  - Use 2 viewports within one drawable and keep it

5 years agoBug 839: Clarifying GLStateTracker.clearStates(..) remove 'enable' change - Part 1
Sven Gothel [Fri, 20 Sep 2013 09:37:38 +0000 (11:37 +0200)]
Bug 839: Clarifying GLStateTracker.clearStates(..) remove 'enable' change - Part 1

TODO: Only disable state tracker at GLContext.destroy()

5 years agoFix Bug 835: Use target.[sourcelevel,targetlevel,rt.jar] for all javac tasks.
Sven Gothel [Thu, 19 Sep 2013 07:20:03 +0000 (09:20 +0200)]
Fix Bug 835: Use target.[sourcelevel,targetlevel,rt.jar] for all javac tasks.

Before we bumped java language version to 1.6, i.e. target == 1.5,
we required to compile some parts w/ the host level (1.6).

This is no more required.

5 years agoTestTiledPrintingGearsSwingAWT: Enable 'bitmap' test only on Windows, issues w/ AMD...
Sven Gothel [Thu, 19 Sep 2013 06:00:26 +0000 (08:00 +0200)]
TestTiledPrintingGearsSwingAWT: Enable 'bitmap' test only on Windows, issues w/ AMD catalyst driver and pixmap surface ..

5 years agoBump to JDK/JRE 7u40.
Sven Gothel [Thu, 19 Sep 2013 02:17:51 +0000 (04:17 +0200)]
Bump to JDK/JRE 7u40. git info: FAQ, tutorial and man pages.