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

Changes

Summary

  1. MacWindow.m: Add missing NSAutoreleasePool 'decoration' (details)
  2. NewtMacWindow: NSView: Remove unused 'myCursor' field (details)
  3. Bug 935: NEWT PointerIcon OSX: Safe use of NSCursor handle (details)
  4. Bug 935: NEWT PointerIcon PNGIcon: Remove return value 'elem_bytesize[]' (details)
  5. Bug 935: NEWT PointerIcon PNGIcon: Remove return value 'elem_bytesize[]' (details)
  6. Bug 935: NEWT PointerIcon: Refine Spec and Implementation / Fix OSX (details)
  7. Bug 935: NEWT OSX PointerIcon/Pointer-Visibility: Impl. (details)
  8. JOGLNewtAppletBase Default Key-Action: Add 'j' for setPointerConfined() (details)
  9. Bug 935: NEWT Windows Window-Icon: Fix Window-Icon Visibility after (details)
  10. TestInitConcurrent01NEWT: Fix test enumeration (details)
  11. Bug 935: NEWT Windows Window-Icon: Use WNDCLASSEX w/ Small/Big Default (details)
  12. Bug 935: NEWT Windows Pointer-Icon WM_SETCURSOR: Don't use (details)
  13. NativewindowCommon_init: Add define STDERR_TO_FILE (default undefined) (details)
  14. NEWT OSX: Add missing NewtCommon_init(env) (duh!) - Issuing (details)
  15. Bug 935: NEWT PointerIcon/Visibility: Perform OffscreenLayerSurface (details)
  16. Bug 935: NEWT PointerIcon/Visibility: Perform JAWTWindow's (details)
  17. Bug 935: NEWT PointerIcon: Add Toolkit Agnostic PixelFormat and (details)
  18. Bug 935: NEWT PointerIcon: Utilize Toolkit Agnostic PixelFormat and (details)
Commit 6569b352a982654a17b9b04b2bc3b3dca8d7448d by Sven Gothel
MacWindow.m: Add missing NSAutoreleasePool 'decoration'
The file was modified src/newt/native/MacWindow.m (diff)
Commit 09db30c4a0d9c0f29c47af76238b2abc275301c0 by Sven Gothel
NewtMacWindow: NSView: Remove unused 'myCursor' field
The file was modified src/newt/native/NewtMacWindow.h (diff)
The file was modified src/newt/native/NewtMacWindow.m (diff)
Commit bb5c7496ed92b91dded30816a46b42ff85f37bec by Sven Gothel
Bug 935: NEWT PointerIcon OSX: Safe use of NSCursor handle
The file was modified src/newt/native/NewtMacWindow.m (diff)
The file was modified src/newt/native/NewtMacWindow.h (diff)
The file was modified src/newt/native/MacWindow.m (diff)
Commit 3e85aa120149d882f52faf2c7fb053156313c896 by Sven Gothel
Bug 935: NEWT PointerIcon PNGIcon: Remove return value 'elem_bytesize[]' which is always 4 (RGBA/BGRA)
The file was modified src/newt/classes/jogamp/newt/driver/PNGIcon.java (diff)
The file was modified src/newt/classes/jogamp/newt/driver/windows/DisplayDriver.java (diff)
The file was modified src/newt/classes/jogamp/newt/driver/opengl/JoglUtilPNGIcon.java (diff)
The file was modified src/newt/classes/jogamp/newt/driver/macosx/DisplayDriver.java (diff)
The file was modified src/newt/classes/jogamp/newt/driver/x11/DisplayDriver.java (diff)
Commit e3cf96249f4c722f8b2a7d0e052e19165cef171e by Sven Gothel
Bug 935: NEWT PointerIcon PNGIcon: Remove return value 'elem_bytesize[]' which is always 4 (RGBA/BGRA
The file was modified src/newt/classes/jogamp/newt/driver/windows/WindowDriver.java (diff)
Commit fcc0e7397bb6f3ceb1fe143667f8c59b5bf63874 by Sven Gothel
Bug 935: NEWT PointerIcon: Refine Spec and Implementation / Fix OSX Crash and Issues

- Refine Display.PointerIcon: Complete type allowing re-creation
  - Add associated Display reference
  - Add used IOUtil.ClassResources reference
  - Add isValid()/validate() methods for recreation
  - Refine API doc

- Move Display.destroyPointerIcon(PointerIcon) -> PointerIcon.destroy()

- Move DisplayImpl.PointerIconImpl -> PointerIconImpl (own source file)

- Creation/Destruction and setting of PointerIcon happens on EDT

- DisplayImpl.shutdownAll() and Display.destroy() calls destroyAllPointerIconFromList

- WindowDriver.setPointerIconImpl: Validates PointerIconImpl (i.e. re-creates if required)

- Fix 'initial' window.setPointerIcon(..) before createNative(..),
  tested w/ TestGearsES2NEWT

- OSX Native Code:
  - Move mouse and pointer-state handling from NewtMacWindow -> NewtView class
    to retain states (pointer handle, pointer visibility, etc) when reparenting.
    Reparenting will move an exisiting NewtView into a new NewtMacWindow.

  - Enable all mouse move events:
    - NewtView::mouseEnter [nsWin makeFirstResponder: nsView];
    - NewtView::mouseExited if( !mouseConfined ) { [nsView resignFirstResponder]; }

  - NewtView::mouseMoved issued [myCurser set] if required, fixing
    OSX issue not updating NSCursor properly.

- MacWindow:
    - Test NewtMacWindow, NewtView and NSCursor handles before usage
    - Fix DBG_PRINT(..) warnings
The file was modified src/newt/classes/jogamp/newt/driver/windows/WindowDriver.java (diff)
The file was modified src/newt/classes/jogamp/newt/driver/windows/DisplayDriver.java (diff)
The file was addedsrc/newt/classes/jogamp/newt/PointerIconImpl.java (diff)
The file was modified src/newt/classes/jogamp/newt/driver/macosx/WindowDriver.java (diff)
The file was modified src/test/com/jogamp/opengl/test/junit/newt/parenting/NewtAWTReparentingKeyAdapter.java (diff)
The file was modified src/newt/classes/jogamp/newt/driver/x11/DisplayDriver.java (diff)
The file was modified src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/newt/TestGearsES2NEWT.java (diff)
The file was modified src/newt/classes/jogamp/newt/WindowImpl.java (diff)
The file was modified src/newt/native/NewtMacWindow.m (diff)
The file was modified src/newt/classes/com/jogamp/newt/Display.java (diff)
The file was modified src/newt/classes/jogamp/newt/driver/macosx/DisplayDriver.java (diff)
The file was modified src/newt/native/NewtMacWindow.h (diff)
The file was modified make/scripts/tests-win.bat (diff)
The file was modified src/newt/native/MacWindow.m (diff)
The file was modified src/newt/classes/jogamp/newt/DisplayImpl.java (diff)
The file was modified make/scripts/tests.sh (diff)
The file was modified src/newt/classes/jogamp/newt/driver/x11/WindowDriver.java (diff)
Commit bec29cf970e6a55eb8f720afdae5a3bdc97c1ba2 by Sven Gothel
Bug 935: NEWT OSX PointerIcon/Pointer-Visibility: Impl. OffscreenLayerSurface (OSX CALayer) w/ JAWTWindow Path

Add setCursor(..) and hideCursor() to OffscreenLayerSurface interface,
impl. in JAWTWindow w/ AWT.

This allows an OSX NEWT Window using CALayer (i.e. NewtCanvasAWT)
to have setPointerIcon(..) and setPointerVisible(..) functionality!
The file was modified src/newt/classes/jogamp/newt/driver/macosx/WindowDriver.java (diff)
The file was modified src/nativewindow/classes/com/jogamp/nativewindow/awt/JAWTWindow.java (diff)
The file was modified src/nativewindow/classes/javax/media/nativewindow/OffscreenLayerSurface.java (diff)
The file was modified src/nativewindow/classes/jogamp/nativewindow/awt/AWTMisc.java (diff)
Commit 2d3a311b7863ed598865f19833417abb6e27a513 by Sven Gothel
JOGLNewtAppletBase Default Key-Action: Add 'j' for setPointerConfined() .. i.e. 'jailed'
The file was modified src/newt/classes/com/jogamp/newt/awt/applet/JOGLNewtAppletBase.java (diff)
Commit 661fea5aa92b1e3c0b888035b67612307fa79a35 by Sven Gothel
Bug 935: NEWT Windows Window-Icon: Fix Window-Icon Visibility after Reparenting CHILD -> TOP

Hiding the window via 'ShowWindow(.., SW_HIDE)' before reparenting and subsequent
style change incl. visibility renders the Window-Icon visible.
The file was modified src/newt/native/WindowsWindow.c (diff)
Commit d58713b37858c009bc45c28676e512c52a0b5555 by Sven Gothel
TestInitConcurrent01NEWT: Fix test enumeration
The file was modified src/test/com/jogamp/opengl/test/junit/jogl/acore/TestInitConcurrent01NEWT.java (diff)
Commit 49e9ce7e641cb6923d9907ad66f667b3d3490e49 by Sven Gothel
Bug 935: NEWT Windows Window-Icon: Use WNDCLASSEX w/ Small/Big Default Icons (NativeWindow GDI / NEWT )

.. this allows using the icon definition of WNDCLASSEX instead of setting them at CreateWindow0(..).

- NativeWindow GDIUtil/RegisteredFactory uses WNDCLASSEX and Small/Big Defailt Icons
The file was modified src/nativewindow/native/win32/GDImisc.c (diff)
The file was modified src/newt/native/WindowsWindow.c (diff)
The file was modified src/nativewindow/classes/jogamp/nativewindow/windows/RegisteredClassFactory.java (diff)
The file was modified src/newt/classes/jogamp/newt/driver/windows/WindowDriver.java (diff)
The file was modified src/nativewindow/classes/jogamp/nativewindow/windows/GDIUtil.java (diff)
The file was modified src/newt/classes/jogamp/newt/driver/windows/DisplayDriver.java (diff)
Commit 82961bc22cd01d7d8b931c33cefe780b9498292c by Sven Gothel
Bug 935: NEWT Windows Pointer-Icon WM_SETCURSOR: Don't use DefWindowProc, SetCursor(..) if HTCLIENT && isChildWin && customCursor
The file was modified src/newt/native/WindowsWindow.c (diff)
Commit 20b242387e6c329a2ba6261d39a05ffe9c39c6ab by Sven Gothel
NativewindowCommon_init: Add define STDERR_TO_FILE (default undefined) to redirect stderr to file jogamp_stderr.log (Useful for Applets)
The file was modified src/nativewindow/native/NativewindowCommon.c (diff)
Commit 69b5adb37a191e746fa55e495c2d02a942833899 by Sven Gothel
NEWT OSX: Add missing NewtCommon_init(env) (duh!) - Issuing NewtCommon_throwNewRuntimeException(..) if given references are of invalid type

Missing NewtCommon_init(env) always lead to a crash when calling NewtCommon_throwNewRuntimeException(..)
due to uninitialized clazz instances!
The file was modified src/newt/classes/jogamp/newt/driver/macosx/WindowDriver.java (diff)
The file was modified src/newt/native/MacWindow.m (diff)
Commit 58756bbd1d1fd63bb84dbfe2d6419d63de2da7ba by Sven Gothel
Bug 935: NEWT PointerIcon/Visibility: Perform OffscreenLayerSurface delegation _always_ in common WindowImpl ; Workaround for Windows+Applet issue.

Perform OffscreenLayerSurface delegation _always_ in common WindowImpl

Instead of performing OffscreenLayerSurface task on OSX's WindowDriver implementation,
use generic implementation in WindowImpl for all platform exposing same behavior.

ReparentAction takes care of reset/setup of PointerIcon/Visibility states.

+++

This is also a workaround for Windows+Applet issue,
where the PointerIcon gets periodically overridden
by the AWT Component's icon.
The file was modified src/newt/classes/jogamp/newt/driver/macosx/WindowDriver.java (diff)
The file was modified src/newt/classes/jogamp/newt/WindowImpl.java (diff)
Commit dd527308f9129c705d82e6421e4822ba1a48abb9 by Sven Gothel
Bug 935: NEWT PointerIcon/Visibility: Perform JAWTWindow's OffscreenLayerSurface PointerIcon/Visibility tasks async on AWT-EDT

setCursor(..) and hideCursor(..) must happen on the AWT-EDT w/o blocking,
otherwise we may deadlock the NEWT-EDT.
The file was modified src/nativewindow/classes/com/jogamp/nativewindow/awt/JAWTWindow.java (diff)
The file was modified src/nativewindow/classes/jogamp/nativewindow/awt/AWTMisc.java (diff)
Commit fe28bc125429b38cdcd016746081f4a6d521c6fd by Sven Gothel
Bug 935: NEWT PointerIcon: Add Toolkit Agnostic PixelFormat and Conversion Utilities (Allowing 'arbitrary' PointerIcon data input)

To allowing 'arbitrary' PointerIcon data input, i.e. via raw pixels
we need to define an agnostic PixelFormat and required conversion utilities.

The latter is not hw accelereated (toolkit agnostic), but this shall be expected
and satisfying for small amount of 'pixels'.
The file was addedsrc/nativewindow/classes/javax/media/nativewindow/util/PixelFormat.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/util/texture/TestPixelFormatUtil00NEWT.java (diff)
The file was addedsrc/nativewindow/classes/javax/media/nativewindow/util/PixelRectangle.java (diff)
The file was modified src/jogl/classes/com/jogamp/opengl/util/GLPixelBuffer.java (diff)
The file was addedsrc/nativewindow/classes/javax/media/nativewindow/util/PixelFormatUtil.java (diff)
Commit bd98b927b910d9421e63cf0dbc2b746eec019f80 by Sven Gothel
Bug 935: NEWT PointerIcon: Utilize Toolkit Agnostic PixelFormat and Conversion Utilities (Allowing 'arbitrary' PointerIcon data input)

Commit fe28bc125429b38cdcd016746081f4a6d521c6fd added the notion of toolkit agnostic PixelFormat and conversion utilities,
utilized and further tested by this patch.

+++

- PointerIcon is a PixelRectangle
  and hence holds the decoded data.
  This allows on-the-fly conversion if required
  as well as recreation w/o PNG re-decoding.

- Using array-backed PointerIcon data where possible,
  allowing better performance when converting PixelFormat etc.

- NEWT Display adds 'createPointerIcon(final IOUtil.ClassResources pngResource...'
  method to support agnostic PointerIcon creation.

- NEWT Display adds methods to allow users to avoid PixelFormat and
  Buffer NIO type forced conversion:
    - PixelFormat getNativePointerIconPixelFormat()
    - boolean getNativePointerIconForceDirectNIO()

+++

PNGImage -> PNGPixelRect
  Deleted: com.jogamp.opengl.util.texture.spi.PNGImage
  Added:   com.jogamp.opengl.util.PNGPixelRect

  (We hope nobody was using PNGImage directly since it was a service-plugin for TextureIO)

  PNGPixelRect is a PixelRectangle

  PNGPixelRect actually is implemented OpenGL agnostic,
  however - since our PNGJ support lives under package 'jogamp.opengl.util.pngj'
  it cannot be moved up (yet).

  PNGPixelRect now handles all PixelFormat for the target format
  and also added support for grayscale+alpha (2 channels).
  The latter is force-converted to RGB* - similar to paletted.

  Further more, PNGPixelRect allows simply passing an OutputStream to write the PNG data.

  Used by: TextureIO and NEWT

+++

- OffscreenSurfaceLayer's setCursor(..) uses the agnostic PixelRectangle
  instead of a PNG resource.

- AWTMisc uses the PixelRectangle to produce the AWT Cursor
  and converts it to the required format.
  Hence same pixels are used for NEWT and AWT pointer/cursor icon.

- TestGearsES2Newt and NewtAWTReparentingKeyAdapter 'tests'
  iterate over 3 custom PointerIcon when pressed 'c'.

- JOGLNewtAppletBase uses the new custom PointerIcon
  'newt/data/crosshair-lumina-trans-32x32.png', which is included in NEWT (213 bytes only).

-
The file was modified src/nativewindow/classes/javax/media/nativewindow/OffscreenLayerSurface.java (diff)
The file was modified src/test/com/jogamp/opengl/test/junit/newt/parenting/NewtAWTReparentingKeyAdapter.java (diff)
The file was modified src/nativewindow/classes/jogamp/nativewindow/awt/AWTMisc.java (diff)
The file was modified src/newt/native/WindowsWindow.c (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/util/texture/crosshair-lumina-trans-32x32.png (diff)
The file was modified src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/newt/TestGearsES2NEWT.java (diff)
The file was addedsrc/jogl/classes/com/jogamp/opengl/util/PNGPixelRect.java (diff)
The file was modified src/jogl/classes/com/jogamp/opengl/util/texture/TextureIO.java (diff)
The file was modified src/newt/classes/jogamp/newt/driver/macosx/DisplayDriver.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/util/texture/TestPNGPixelRect01NEWT.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/util/texture/PNGTstFiles.java (diff)
The file was removedsrc/test/com/jogamp/opengl/test/junit/jogl/util/texture/TestPNGImage01NEWT.java (diff)
The file was modified src/newt/classes/jogamp/newt/driver/opengl/JoglUtilPNGIcon.java (diff)
The file was modified src/newt/classes/jogamp/newt/driver/windows/DisplayDriver.java (diff)
The file was modified make/scripts/tests.sh (diff)
The file was removedsrc/jogl/classes/com/jogamp/opengl/util/texture/spi/PNGImage.java (diff)
The file was removedsrc/test/com/jogamp/opengl/test/junit/jogl/util/texture/TestPNGImage00NEWT.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/util/texture/crosshair-lumina-trans-64x64.png (diff)
The file was modified src/nativewindow/classes/com/jogamp/nativewindow/awt/JAWTWindow.java (diff)
The file was modified src/newt/classes/jogamp/newt/PointerIconImpl.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/util/texture/TestPixelFormatUtil01NEWT.java (diff)
The file was modified src/newt/classes/com/jogamp/newt/Display.java (diff)
The file was modified src/newt/native/X11Display.c (diff)
The file was addedmake/resources/assets/newt/data/crosshair-lumina-trans-32x32.png (diff)
The file was modified src/newt/classes/jogamp/newt/driver/x11/WindowDriver.java (diff)
The file was modified src/newt/classes/jogamp/newt/driver/x11/DisplayDriver.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/util/texture/TestPNGPixelRect00NEWT.java (diff)
The file was modified src/newt/classes/jogamp/newt/DisplayImpl.java (diff)
The file was modified src/newt/classes/com/jogamp/newt/awt/applet/JOGLNewtAppletBase.java (diff)
The file was modified src/newt/native/X11Window.c (diff)
The file was modified src/newt/classes/jogamp/newt/driver/PNGIcon.java (diff)
The file was modified src/newt/native/MacWindow.m (diff)
The file was addedmake/resources/assets-test/crosshair-lumina-trans-64x64.png (diff)
The file was modified src/newt/classes/jogamp/newt/WindowImpl.java (diff)