UnstableChanges

Summary

  1. Bug 1421: Demo wrong NEWT Child window position within an SWT TabFolder layout using NewtCanvasSWT on MacOSX with High-DPI Retina (details)
  2. Bug 1421: NewtCanvasSWT child on layouted SWT parent only occurs on MacOS, regardless of High-DPI (details)
  3. Bug 1421, Bug 1358, Bug 969, Bug 672: Generalization of test case TestGLCanvasSWTNewtCanvasSWTPosInTabs (1/2) (details)
  4. Bug 1421, Bug 1358, Bug 969, Bug 672: SWTAccessor: Add get[Location|Size]InPixels(..) and getLocationOnScreen() (details)
  5. Bug 1358: GLCanvas: Call new OSXUtil.SetWindowPixelScale(..) when GLCanvas gets realized on MacOS (details)
  6. SWT GLCanvas: Fix NPE in DEBUG mode; NewtCanvasSWT: Resurect comment in setBounds(..) (details)
  7. Bug 1421, Bug 1358, Bug 969, Bug 672: Generalization of test case TestGLCanvasSWTNewtCanvasSWTPosInTabs (2/2) (details)
  8. Bug 1421, Bug 1358, Bug 969, Bug 672: Deleting merged tests (obsolete) (details)
  9. Bump SWT to Release 4.14-201912100610 (jogl/make/lib/swt) (details)
  10. Bug 1421: OSXUtil: Add GetLocation(..), simply returning the view's frame position (details)
  11. Bug 1421: Move Bug 1362 'setBackground(..)' fix before potential 'setNEWTChild(..)' (details)
  12. Bug 1421: Minor cleanup / commenting (details)
  13. Bug 1421: Minor commenting (details)
  14. Bug 1421: Tackle wrong position of TabFolder, SashForm etc (details)
  15. Bug 1358: Merely simplifying the non MacOS getClientAreaInPixels() code path (details)
Commit b2a150a2a9bcf4f821ec84085774168276c108a1 by Sven Gothel
Bug 1421: Demo wrong NEWT Child window position within an SWT TabFolder layout using NewtCanvasSWT on MacOSX with High-DPI Retina
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/swt/TestBug1421NewtCanvasSWTPosInTabs.java
The file was modifiedmake/scripts/tests.sh (diff)
Commit 741e62820299bc384741d692e2665d22d97c1970 by Sven Gothel
Bug 1421: NewtCanvasSWT child on layouted SWT parent only occurs on MacOS, regardless of High-DPI
The file was modifiedmake/scripts/tests-x64-dbg.bat (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedmake/scripts/tests-win.bat (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/swt/TestBug1421NewtCanvasSWTPosInTabs.java (diff)
Commit 9512a4bbda02002d06fcbb34504c3bea9c7abdc8 by Sven Gothel
Bug 1421, Bug 1358, Bug 969, Bug 672: Generalization of test case TestGLCanvasSWTNewtCanvasSWTPosInTabs (1/2)

Testing the TabFolder and a SashForm in the 2nd tab
covering both SWT layout use cases on both out SWT support classes SWT GLCanvas and NewtCanvasSWT.

Merging  TestBug1421NewtCanvasSWTPosInTabs + TestBug672NewtCanvasSWTSashFormComposite
into TestGLCanvasSWTNewtCanvasSWTPosInTabs.

TestBug672NewtCanvasSWTSashFormComposite exposes that SWT GLCanvas
still requires work for proper High-DPI scaling on OSX!
The file was addedsrc/test/com/jogamp/opengl/test/junit/jogl/swt/TestGLCanvasSWTNewtCanvasSWTPosInTabs.java
The file was removedsrc/test/com/jogamp/opengl/test/junit/jogl/swt/TestBug1421NewtCanvasSWTPosInTabs.java
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/swt/TestBug672NewtCanvasSWTSashFormComposite.java (diff)
Commit 1216aa7bc4284e5568d7dd7bbd7f6d9fed27d25b by Sven Gothel
Bug 1421, Bug 1358, Bug 969, Bug 672: SWTAccessor: Add get[Location|Size]InPixels(..) and getLocationOnScreen()
The file was modifiedsrc/nativewindow/classes/com/jogamp/nativewindow/swt/SWTAccessor.java (diff)
Commit 8caf3fab68dc890855961d22cb235d1c8f5c52c6 by Sven Gothel
Bug 1358: GLCanvas: Call new OSXUtil.SetWindowPixelScale(..) when GLCanvas gets realized on MacOS

This fixes GLCanvas's High-DPI scaled size issue on MacOS of Bug 1358.
The file was modifiedsrc/nativewindow/native/macosx/OSXmisc.m (diff)
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/macosx/OSXUtil.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/swt/GLCanvas.java (diff)
Commit 69db39c035455fc0154006304e7340d825415e99 by Sven Gothel
SWT GLCanvas: Fix NPE in DEBUG mode; NewtCanvasSWT: Resurect comment in setBounds(..)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/swt/GLCanvas.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/swt/NewtCanvasSWT.java (diff)
Commit 05b3978d47e304b2e0223bbdf34d393a2e4c7c26 by Sven Gothel
Bug 1421, Bug 1358, Bug 969, Bug 672: Generalization of test case TestGLCanvasSWTNewtCanvasSWTPosInTabs (2/2)

Complete merging unit tests.
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/swt/TestGLCanvasSWTNewtCanvasSWTPosInTabs.java (diff)
Commit 87eeadadfe3a519ca6f6a6688ea854b147eca13b by Sven Gothel
Bug 1421, Bug 1358, Bug 969, Bug 672: Deleting merged tests (obsolete)
The file was removedsrc/test/com/jogamp/opengl/test/junit/jogl/swt/TestBug672NewtCanvasSWTSashForm.java
The file was removedsrc/test/com/jogamp/opengl/test/junit/jogl/swt/TestBug672NewtCanvasSWTSashFormComposite.java
The file was modifiedmake/scripts/tests-win.bat (diff)
The file was modifiedmake/scripts/tests.sh (diff)
Commit 8ab8412568d362b0bf65a40d727ba052a519ea3d by Sven Gothel
Bump SWT to Release 4.14-201912100610 (jogl/make/lib/swt)

Due to issues on MacOS, added the src.zip for MacOS as well.
The file was addedmake/lib/swt/cocoa-macosx-x86_64/src.zip
The file was modifiedmake/lib/swt/gtk-linux-x86_64/src.zip (diff)
The file was modifiedmake/lib/swt/cocoa-macosx-x86_64/about_files/mpl-v20.txt (diff)
The file was modifiedmake/lib/swt/win32-win32-x86_64/swt.jar (diff)
The file was modifiedmake/lib/swt/cocoa-macosx-x86_64/swt.jar (diff)
The file was modifiedmake/lib/swt/gtk-linux-x86_64/about_files/mpl-v20.txt (diff)
The file was modifiedmake/lib/swt/gtk-linux-x86_64/swt.jar (diff)
The file was modifiedmake/lib/swt/README.txt (diff)
Commit abbc95745b69dcd7f5f84c7a56bf32947c23e74d by Sven Gothel
Bug 1421: OSXUtil: Add GetLocation(..), simply returning the view's frame position
The file was modifiedsrc/nativewindow/native/macosx/OSXmisc.m (diff)
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/macosx/OSXUtil.java (diff)
Commit 20921924e994e9f612a82009026081a4573b3bdd by Sven Gothel
Bug 1421: Move Bug 1362 'setBackground(..)' fix before potential 'setNEWTChild(..)'
The file was modifiedsrc/newt/classes/com/jogamp/newt/swt/NewtCanvasSWT.java (diff)
Commit 95fd39e361190c6c23019e1aa5ec21e6fe85fcd3 by Sven Gothel
Bug 1421: Minor cleanup / commenting
The file was modifiedsrc/newt/classes/com/jogamp/newt/swt/NewtCanvasSWT.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/WindowImpl.java (diff)
Commit 141fa0fba0f47851f20acfcb078e11659ebc74cc by Sven Gothel
Bug 1421: Tackle wrong position of TabFolder, SashForm etc

getClientArea() on MacOS produces a 'difficult' result regarding the position,
which usually is returned as zero.
Using a zero position issues the bug w/ SashForm, where the offset doesn't seems
to be covered by the native NSView nor an SWT parent Composition.

Then using the getLocation() as is (i.e. the view's frame position)
may also cause issues with the TabFolder, as it includes the tab's trimming.
Here the native NSView 's position includes the tab's trimming,
gladly the parent (TabFolder or a Composition)'s clientArea includes this offset.

Therefor, as a testbed - on OSX, getClientArea2(..) returns
- position: getLocation() - getParent().getClientArea().position
- size: getSize()

This at least works OK'sh using
- no special layout parent
- TabFolder
- SashForm

++++

Unit test TestGLCanvasSWTNewtCanvasSWTPosInTabs: Adding 'addComposite' to test matrix.
'addComposite' wraps our GLCanvas or NewtCanvasSWT into a Composite instead of
adding it directly into the layouting parent.

It demonstrates an issue with the new test 'test32_NewtCanvasSWTTabSashGLWComp',
i.e. the NewtCanvasSWT is shown on the left as the SashForm's offset is being dropped.

Summary:
- No more issues with High-DPI pixelScale observed!

- GLCanvas is being most well layouted, no issues in tests

- NewtCanvasSWT may show severe positioning issues -> test32_NewtCanvasSWTTabSashGLWComp
- NewtCanvasSWT always shows a small positioning offset into the lower-right corner w/ overlapping
- NewtCanvasSWT overall positioning is not perfectly understood
- NewtCanvasSWT misses to hide the NEWT child when changing tabs in TabFolder
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/swt/TestGLCanvasSWTNewtCanvasSWTPosInTabs.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/swt/NewtCanvasSWT.java (diff)
Commit 557f3d57cc2ca60678fe87df4b4a9c99c016e575 by Sven Gothel
Bug 1358: Merely simplifying the non MacOS getClientAreaInPixels() code path

This also demonstrates that on non MacOS, SWT's scale-factor is artificially imposed
on the actual pixel-units, as SWT's getClientArea() is simply returning:
  DPIUtil.autoScaleDown(getClientAreaInPixels())
The file was modifiedsrc/newt/classes/com/jogamp/newt/swt/NewtCanvasSWT.java (diff)