SuccessChanges

Summary

  1. Bug 1188: Refine getSupportedStateMask() semantics and minimum (details)
  2. Fix Bug 1209 - Regression of Bug 1188 Patches: Parented Fullscreen (details)
  3. Bug 1208 - NEWT: Window: Consider avoiding operations if not supported, (details)
  4. Bug 1210 - Use manual impl. XRenderFindVisualFormat instead of buggy (details)
  5. Bug 1205 - NEWT Security: Clear framebuffer after creation and before (details)
Commit fcbd67ddd4c866b664db2c8b5f292996f277a4ac by Sven Gothel
Bug 1188: Refine getSupportedStateMask() semantics and minimum requirements (adding STATE_MASK_FULLSCREEN)

Refine getSupportedStateMask():
- always for _after_ native creation, i.e. first visibility
- removed STATE_MASK_AUTOPOSITION
- adding STATE_MASK_FULLSCREEN to minimum requirements
The file was modifiedsrc/newt/classes/jogamp/newt/driver/kd/WindowDriver.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/OffscreenWindow.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/Window.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/macosx/WindowDriver.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/WindowImpl.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/bcm/vc/iv/WindowDriver.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/x11/WindowDriver.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/windows/WindowDriver.java (diff)
Commit 552dd898add86f8bd745ab4cc1a9e755edd9926d by Sven Gothel
Fix Bug 1209 - Regression of Bug 1188 Patches: Parented Fullscreen Issues (X11, Windows)

The regression was caused by WindowImpl changes:
  (1) Not ignoring maximizedChanged(..) during fullscreen.
      X11 windows may promote maximized state, which will be passed
      in reconfigure -> non-fullscreen and hinders reseting the original size.

  (2) getReconfigureMask(..) was wrongly translated to state-mask,
      i.e. special handling of STATE_MASK_UNDECORATED and STATE_MASK_CHILDWIN
      was removed.

- Issues above were corrected

- Replace PSTATE_MASK_FULLSCREEN_NFS* w/ own stateMaskNFS for simplification
The file was modifiedsrc/newt/classes/jogamp/newt/WindowImpl.java (diff)
Commit cc00d9b6c5a5c6b71ba14311fc6b17ce932d9a1e by Sven Gothel
Bug 1208 - NEWT: Window: Consider avoiding operations if not supported, see getSupportedStateMask()

- Skip operation if not supported

- Fix skip operation if isFullscreen() && !isNativeValid():
    We have to store the state w/o action,
    so the state can be picked up at native creation.
The file was modifiedsrc/newt/classes/jogamp/newt/WindowImpl.java (diff)
Commit cf9e2f2cb8ead7efd7751dcbfaecb36ed06cf9d6 by Sven Gothel
Bug 1210 - Use manual impl. XRenderFindVisualFormat instead of buggy generated version

- XRenderDirectFormat XVisual2XRenderMask(..):
  - Move from JOGL's X11GLXGraphicsConfiguration -> Nativewindow X11GraphicsConfiguration
  - Always use manual impl. of XRenderFindVisualFormat

Additionally:

- Add X11GraphicsConfiguration.XVisualInfo2X11Capabilities(..)
  allowing to properly setup the resulting Capabilities instance
  as used in X11GraphicsConfigurationFactory.chooseGraphicsConfigurationImpl(..)

- XVisualInfo:
    - Add 'String toString()'
    - 'XVisualInfo create(XVisualInfo s)' uses source buffer size!
    - XGetVisualInfo: Use returned buffer-capacity/count for element-size
      and also bail out if count<=0
The file was modifiedmake/config/nativewindow/x11-lib.cfg (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/x11/glx/X11GLXGraphicsConfiguration.java (diff)
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/x11/X11GraphicsConfigurationFactory.java (diff)
The file was modifiedmake/config/nativewindow/x11-CustomJavaCode.java (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/newt/TestWindows02NEWT.java
The file was modifiedsrc/nativewindow/classes/com/jogamp/nativewindow/x11/X11GraphicsConfiguration.java (diff)
Commit ee2fea13b20644e45c77f12a8b6d6f55941c27c8 by Sven Gothel
Bug 1205 - NEWT Security: Clear framebuffer after creation and before visibility (X11 Onscreen)

X11Window.c:

Adding CWBackPixel BlackPixel(..) resulting in an initial black window (zero).

com.jogamp.opengl.test.junit.newt.TestWindows02NEWT shows the content
w/ opaque background and transparent one.
Note: To be able to receive a transparent background,
one needs to utilize a compositor WM (e.g. KWin w/ effects enabled).

Due to commit cf9e2f2cb8ead7efd7751dcbfaecb36ed06cf9d6 (Bug 1210)
this works in pure NEWT mode w/o utilizing GLX.
The file was modifiedsrc/newt/native/X11Window.c (diff)