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

Changes

Summary

  1. Fix MovieCube/Simple Demo in 'Applet' mode: Use default ctor to (details)
  2. DirectDataBufferInt: createBufferedImage(..) use BufferedImage type (details)
  3. TileRenderer*: TileRendererNotify -> TileRendererListener w/ clarifying (details)
  4. Bug 816: Fix JAWTWindow's getLocationOnScreenNonBlocking(); Derive (details)
  5. Test AWT Printing: Frame size contains border/insets, use as-is for (details)
  6. Fix Bug 816: JAWTWindow.getLocationOnScreenNonBlocking(..) shall use (details)
  7. Test applets .. change font of misc test section. (details)
Commit 6fbf6de172f50dce7f65790460458238bf780902 by Sven Gothel
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.
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/av/MovieCube.java (diff)
The file was modifiedjnlp-files/jogl-applet-runner-newt-MovieCube-napplet.html (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/android/MovieSimpleActivity0.java (diff)
The file was modifiedjnlp-files/jogl-applet-runner-newt-MovieCube.html (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/android/MovieSimpleActivity1.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/av/MovieSimple.java (diff)
Commit 7ec812589190c0fbc6916cc22d9b74f009244f5c by Sven Gothel
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.
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/tile/TestTiledPrintingGearsSwingAWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/tile/TestTiledPrintingGearsSwingAWT2.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/tile/TestTiledPrintingNIOImageSwingAWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/tile/OffscreenPrintable.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/tile/TestTiledPrintingGearsAWT.java (diff)
The file was modifiedsrc/nativewindow/classes/com/jogamp/nativewindow/awt/DirectDataBufferInt.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/tile/TestTiledPrintingGearsNewtAWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/tile/TiledPrintingAWTBase.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/tile/OnscreenPrintable.java (diff)
Commit 4ef53cf2ae509a625795bfa3a8982ce75e24e83a by Sven Gothel
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.
The file was modifiedsrc/newt/classes/com/jogamp/newt/awt/NewtCanvasAWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/gl2/Gears.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/TileRendererBase.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/awt/GLJPanel.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/GearsES2.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/RedSquareES2.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es1/RedSquareES1.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/tile/TestRandomTiledRendering2GL2NEWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/tile/TestTiledRendering2NEWT.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/awt/AWTTilePainter.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/awt/GLCanvas.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/RandomTileRenderer.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/TileRenderer.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/tile/TestRandomTiledRendering3GL2AWT.java (diff)
Commit 9a8f9b9f7e6148b60b6f0f4326df8d213774284c by Sven Gothel
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
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/awt/Bug816AppletGLCanvas02.java
The file was addedjnlp-files/jogl-applet-bug816_glcanvas01.html
The file was modifiedjnlp-files/jogl-test-applets.html (diff)
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/macosx/OSXUtil.java (diff)
The file was modifiedsrc/nativewindow/native/macosx/OSXmisc.m (diff)
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/awt/AWTMisc.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/awt/TestBug816OSXCALayerPosAWT.java (diff)
The file was addedjnlp-files/jogl-applet-bug816_glcanvas02.html
The file was modifiedsrc/nativewindow/classes/com/jogamp/nativewindow/awt/JAWTWindow.java (diff)
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/jawt/macosx/MacOSXJAWTWindow.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/awt/Bug816AppletGLCanvas01.java
Commit 469311764a1cb3c3af8439c1638160926741c1e5 by Sven Gothel
Test AWT Printing: Frame size contains border/insets, use as-is for scaling; Only force TEXT AA print-rendering hint.
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedmake/scripts/tests-osx-x64.sh (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/tile/TestTiledPrintingNIOImageSwingAWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/tile/OnscreenPrintable.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/tile/OffscreenPrintable.java (diff)
Commit 3abff83dbc0a99c8d227788c9dddbe59cd15b9ba by Sven Gothel
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.
  -
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/awt/AWTMisc.java (diff)
The file was modifiedsrc/nativewindow/classes/com/jogamp/nativewindow/awt/JAWTWindow.java (diff)
Commit ebb62e74f9e0dc87d7632cf16ca1bc7554ffcadc by Sven Gothel
Test applets .. change font of misc test section.
The file was modifiedjnlp-files/jogl-test-applets.html (diff)