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

Changes

Summary

  1. JOGL/OSX: Properly utilize NSOpenGLContext update() via ContextUpdater, (details)
  2. GLCanvas / GLWindow: Change 'manual' resize/repaint animation filter (details)
  3. NEWT: Filter Window focusChanged() and visibleChanged() [test if value (details)
  4. NEWT/OSX: Fix resize behavior / Cleanup coordinate transormation (details)
  5. TestParenting03AWT: Add manual code to disable 2nd GLWindow for internal (details)
Commit 946c98fd196802755e9e13a9c5db75650a564466 by Sven Gothel
JOGL/OSX: Properly utilize NSOpenGLContext update() via ContextUpdater, which only holds the 'update' state now.

Avoid calling updater() for every makeCurrent(), but if view's frame has changed only.
This solves the pixel flickering experienced on OSX.

- GLContextImpl:update() -> drawableUpdatedNotify() w/ comments

- ContextUpdater holds context, view, old view frame and the update state.
  It doesn't issue NSOpenGLContext update() by itself, but allows querying and clearing the update flag.

- MacOSXOnscreenCGLContext impl drawableUpdatedNotify()
   - register via ContextUpdater, and use it if available.
The file was modifiedsrc/jogl/native/macosx/MacOSXWindowSystemInterface.m (diff)
The file was modifiedmake/stub_includes/opengl/macosx-window-system.h (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXOnscreenCGLContext.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLContextImpl.java (diff)
The file was modifiedsrc/jogl/native/macosx/ContextUpdater.h (diff)
The file was modifiedsrc/jogl/native/macosx/ContextUpdater.m (diff)
Commit 01ba2ee689a87996301afe2b37ad919cb052882b by Sven Gothel
GLCanvas / GLWindow: Change 'manual' resize/repaint animation filter

We not only shall skip windowing system triggered repaint if another animation thread
is running, but also if the current thread is the animator thread.
This keeps the animator intervals stable while resizing.
The file was modifiedsrc/newt/classes/com/jogamp/newt/opengl/GLWindow.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/awt/GLCanvas.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLDrawableHelper.java (diff)
Commit e7329d99aa6b44b976d0a5d2dd6f0d19c25d661c by Sven Gothel
NEWT: Filter Window focusChanged() and visibleChanged() [test if value changed]
The file was modifiedsrc/newt/classes/jogamp/newt/WindowImpl.java (diff)
Commit 96c50e94f4dbc0e18762a97c026b7e6986cea8e7 by Sven Gothel
NEWT/OSX: Fix resize behavior / Cleanup coordinate transormation (client-space/top-level, child/parent)

At resizing a perent window w/ a NEWT OSX child,
the window position needs to be updated since it's absolute.

Re-adding sending *Changed notifications via the appropriate WindowImpl methods.
Turns out they are missing in some parent/child situations (fullscreen for example).

Native getLocationOnScreen0(..) queries totalHeight by it's own to have correct values.
The file was modifiedsrc/newt/classes/jogamp/newt/driver/macosx/MacWindow.java (diff)
The file was modifiedsrc/newt/native/MacWindow.m (diff)
The file was modifiedsrc/nativewindow/classes/javax/media/nativewindow/util/Point.java (diff)
Commit a8c14db739c8d7765d1a204f73b5708faac07fdd by Sven Gothel
TestParenting03AWT: Add manual code to disable 2nd GLWindow for internal testing (def.: enabled)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/parenting/TestParenting03AWT.java (diff)