UnstableChanges

Summary

  1. NEWT JVM_JNI8: Adapt to native library separation (head, drm) of commit b91c680fb93a03720ff9fcb39cf052cfe8d40e76 (details)
  2. NativeWindow Point.set*(..): Return instance for scaling (chaining) (details)
  3. Bug 1421, Bug 1358, Bug 969, Bug 672: Fix NEWT's coordinate conversion on MacOS (fixes NewtCanvasSWT on SWT positioning) (details)
  4. Bug 1421 Related: Handle SWT Events: Activate (focus), Show and Hide. (details)
Commit f6a5ae588440ff873fd72f3b52956e7b02d4e728 by Sven Gothel
NEWT JVM_JNI8: Adapt to native library separation (head, drm) of commit b91c680fb93a03720ff9fcb39cf052cfe8d40e76

See commit b91c680fb93a03720ff9fcb39cf052cfe8d40e76

To support static libraries JEP 178, we have to provide JNI_OnLoad_<libname> etc.
Hence change and add function entries accordingly.
The file was modifiedsrc/newt/native/JVM_JNI8.c (diff)
Commit e3e671e3ca63235830a2ebf7875650a4c86ce18e by Sven Gothel
NativeWindow Point.set*(..): Return instance for scaling (chaining)
The file was modifiedsrc/newt/classes/jogamp/newt/OffscreenWindow.java (diff)
The file was modifiedsrc/nativewindow/classes/com/jogamp/nativewindow/util/Point.java (diff)
Commit 12bbb049b716282321c979ae78918801ef071884 by Sven Gothel
Bug 1421, Bug 1358, Bug 969, Bug 672: Fix NEWT's coordinate conversion on MacOS (fixes NewtCanvasSWT on SWT positioning)

Newt's OSX Window consist out of NSView wrapped up within its own NSWindow.
It's position is being set via its NSWindow's client-area position on screen (frame),
which we derive from NSView's client-area position.

When NEWT reparents into a new 'window',
on OSX it uses the parent's NSView and its NSWindow
to attach its own NSView and NSWindow as a subview and childwindow.

SWT's OSX implementation uses NSView's for each Compositor,
but an individual NSWindow is only established for the Shell (Window).

An oversight in Nativewindow and NEWT's coordinate translation:
  'top-left view <-> top-left screen'
by missing the 'view <-> window' translation caused this whole issue.

The oversight occured as NEWT's 'view <-> window' translation
had no impact due to its 1-view to 1-window mapping.

Fixing the coordinate translation resolves the mess
for SWT and for potential other toolkits on OSX.

NewtCanvasSWT behaves same on OSX as on X11 etc finally.
The file was modifiedsrc/newt/native/MacNewtNSWindow.m (diff)
The file was modifiedsrc/nativewindow/native/macosx/OSXmisc.m (diff)
The file was modifiedsrc/newt/native/MacNewtNSWindow.h (diff)
The file was modifiedsrc/newt/native/MacWindow.m (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/javafx/NewtCanvasJFX.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/WindowImpl.java (diff)
The file was modifiedsrc/nativewindow/classes/com/jogamp/nativewindow/swt/SWTAccessor.java (diff)
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/macosx/OSXUtil.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/swt/NewtCanvasSWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/swt/TestGLCanvasSWTNewtCanvasSWTPosInTabs.java (diff)
Commit 39af5ca418d0db9669aca5db77fa47e801e2a1d9 by Sven Gothel
Bug 1421 Related: Handle SWT Events: Activate (focus), Show and Hide.

Show and Hide handling resolves TabFolder layout,
i.e. hiding the 'hidden' and showing the current tab.
The file was modifiedsrc/newt/classes/com/jogamp/newt/swt/NewtCanvasSWT.java (diff)