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

Changes

Summary

  1. MacOsX/JAWT_SurfaceLayers/CALayers: Kick off / JAWT_getAWT() CALAYER (details)
  2. Win32: Reuse Platform's OS VersionNumber (details)
  3. NEWT/Applet: Add 'newt.debug.Applet' ; Be more verbose in DEBUG Mode; (details)
  4. Nativewindow/OSX: GetLocationOnScreen() must use [win frame] for window (details)
  5. Test: More 'layouting' in NewtCanvasAWT test case (details)
  6. test script (details)
  7. OSX: CGL type cleanup ; layeredSurface impl. (details)
  8. Cleanup ; JAWT* version flag setting based whether (details)
  9. Impl layeredSurface (java/native): (details)
  10. NativeWindow/JOGL: NativeSurface adds add/remove SurfaceUpdateListener (details)
  11. JOGL/Offscreen-Drawable: Use setRealized(boolean) protocol for (details)
  12. JOGL *Drawable swapBufferImpl() cleanup: Don't force swap-buffer off for (details)
  13. OS X Layered View: Use pbuffer method (pbuffer w/ dbl buffer) (details)
  14. JOGL: Add 'struct timespec' (POSIX) utils for native time handling (details)
  15. JOGL: GLBase Add 'isNPOTTextureAvailable()' for convenience (details)
  16. OSX: SharedResource add knowledge of NPOT-, RECT- and Float-Texture (details)
  17. GLContext: Intendation + Use generics (remove warnings) (details)
  18. FPSCounter: Use Java 1.5 TimeUnit (details)
  19. Minor edits: Remove unused code and warnings (details)
  20. OS X Layered View: Part2 Java/Native MacOSXCGLContext / (details)
  21. NativeWindow: Add accessor interfaces NativeSurfaceHolder and (details)
  22. Minor edits: remove redundancies (details)
  23. OS X Layered View: Part3 JAWTWindow/MacOSXJAWTWindow (Java/Native) (details)
  24. OS X Layered View: Part4 NEWT OffscreenWindow/WindowImpl fix (details)
  25. OS X Layered View: Part5 NEWT/AWT Interaction ; Fix NSOpenGLLayer pos ; (details)
  26. Fix regression: setScreen(..) invalid ref count & flag (details)
  27. minor edit (details)
  28. Fix TestParenting03AWT: NewtCanvasAWT has always a NativeWindow (details)
  29. Cleanup offscreen/pbuffer drawables - minor edits (details)
  30. test: minor edit (details)
  31. NativeWindow: SurfaceChangeable::setSize() -> surfaceSizeChanged() to (details)
  32. NewtCanvasAWT: Fix NPE (regression from commit (details)
  33. NewtCanvasAWT: nativeWindow field lifecycle is same as holder (details)
  34. NativeWindow minor edits: Remove warnings (generics, imports, ..) (details)
  35. Fix regression JAWTWindow/AWTGraphicsConfiguration (details)
  36. Fix MacOSXJAWTWindow: Impl. SurfaceChangeable ; Proper (details)
  37. MacOSXPbufferCGLDrawable: verbose debug messages (details)
  38. NEWT/WindowImpl: Generalize recreation @ setSize() for offscreen surface (details)
  39. Animator: Limit wait for condition in finishLifecycleAction() via (details)
  40. NEWT/Screen: minor editing/cleanup (details)
  41. NEWT/WindowImpl: Fix minor regression offscreen recreate @ setSize() (details)
  42. OS X Layered View: Part6 (native) Using a root CALayer where we (details)
  43. Minor edits: Remove dead code / fix dbg printf (details)
  44. Revert introduction of NativeSurfaceHolder and NativeWindowHolder (details)
  45. Animator timeout/refinement (details)
  46. OS X Layered View: Part7 Allow NEWT onscreen MacWindow to be used incl (details)
  47. Nativewindow: Introduce API private MutableGraphicsConfiguration (details)
  48. OSX: Fix context update call (details)
  49. OS X Layered View Part8: Generalize OffscreenLayerSurface ; Use local (details)
  50. OSXUtil: Remove (ClassLoader) dependency on JAWT_DrawingSurfaceInfo (details)
  51. test script (details)
  52. Fix OS X JAWT SIGSEGV @ NEWT Window creation ; Reloc (details)
  53. NEWT InputEvent consumed: Expose special attachement Object (details)
  54. NEWT/AWT Focus Traversal / Deadlock Fix (Windows) ; Harmonized NEWT (details)
  55. Fix NewtCanvasAWT Focus Traversal (focusable) (details)
  56. Fix Reloc AttachJAWTSurfaceLayer() (commit (details)
  57. WindowsWGLDrawableFactory createOffscreenDrawable() - Don't spin off (details)
  58. Focus Test: Don't assume NewtCanvasAWT even received the focus (details)
  59. Relocate NewtFactoryAWT: jogamp.newt.awt.event -> jogamp.newt.awt (details)
  60. NEWT Window: Promote/Expose 'Window getDelegatedWindow()' for accessing (details)
  61. NewtMacWindow: Add CR/LF to DBG_PRINT (details)
  62. NEWT: Move 'focusAction()' invokation from native code to Java, avoiding (details)
  63. NEWT/AWT Focus traversal enhancement/fix (incl. OS X fixes) (details)
  64. Demo: GearsES1/ES2 visualize focus (details)
  65. NEWT build: Add jogamp/newt/driver/* to core (details)
  66. NEWT MacWindow: Revised offscreen FIXME tags (details)
  67. minor edits: test, scripts (details)
Commit 6a770d1ec80a656db62feb8100e3fe58800e79af by Sven Gothel
MacOsX/JAWT_SurfaceLayers/CALayers: Kick off / JAWT_getAWT() CALAYER version support.
The file was modifiedmake/config/nativewindow/jawt-CustomJavaCode.java (diff)
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/jawt/JAWTUtil.java (diff)
The file was modifiedmake/config/nativewindow/jawt-common.cfg (diff)
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/jawt/macosx/MacOSXJAWTWindow.java (diff)
The file was modifiedmake/config/nativewindow/jawt-macosx.cfg (diff)
The file was modifiedmake/stub_includes/jni/macosx/jawt_md.h (diff)
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/jawt/JAWTWindow.java (diff)
Commit 64b8a2ac494ec1a63500bd4dbab2738fd00bd48c by Sven Gothel
Win32: Reuse Platform's OS VersionNumber
The file was modifiedsrc/jogl/classes/jogamp/opengl/windows/wgl/WindowsWGLDrawableFactory.java (diff)
Commit cf7851ba926c099f4a63dc621f66b2c839df73ea by Sven Gothel
NEWT/Applet: Add 'newt.debug.Applet' ; Be more verbose in DEBUG Mode;
The file was modifiedsrc/newt/classes/com/jogamp/newt/awt/applet/JOGLNewtApplet1Run.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/awt/applet/JOGLNewtAppletBase.java (diff)
Commit 866cc2a35d922b0bcab8fd54c10ad6801d00080f by Sven Gothel
Nativewindow/OSX: GetLocationOnScreen() must use [win frame] for window height.
The file was modifiedsrc/nativewindow/native/macosx/OSXmisc.m (diff)
Commit e57fc1738c4d2a099b6d573ca7b52d095ecce468 by Sven Gothel
Test: More 'layouting' in NewtCanvasAWT test case
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/parenting/TestParenting03AWT.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
Commit fe4f9f3f83cda05052549cc34fb3f7acb4eabb9c by Sven Gothel
OSX: CGL type cleanup ; layeredSurface impl.

- Use proper OSX types for NS/CGL prototypes (gluegen) and impl.

- Impl layeredSurface (native):
  - OSXUtil: NSView backing creation
  - OSXUtil: AttachJAWTSurfaceLayer
  - CGL: NSOpenGLLayer type impl. and hook
The file was modifiedsrc/nativewindow/native/macosx/OSXmisc.m (diff)
The file was modifiedmake/stub_includes/macosx/OpenGL/OpenGL.h (diff)
The file was addedmake/stub_includes/macosx/AppKit/NSOpenGLView.h (diff)
The file was modifiedsrc/jogl/native/macosx/MacOSXCustomCGLCode.c (diff)
The file was modifiedmake/config/jogl/cgl-macosx.cfg (diff)
The file was modifiedmake/stub_includes/opengl/macosx-window-system.h (diff)
The file was modifiedsrc/newt/native/NewtMacWindow.h (diff)
The file was modifiedmake/build-nativewindow.xml (diff)
The file was addedmake/stub_includes/macosx/QuartzCore/CALayer.h (diff)
The file was addedmake/stub_includes/macosx/OpenGL/CGLDevice.h (diff)
The file was modifiedsrc/jogl/native/macosx/MacOSXWindowSystemInterface.m (diff)
The file was addedmake/stub_includes/macosx/AppKit/NSOpenGL.h (diff)
The file was addedmake/stub_includes/macosx/AppKit/NSOpenGLLayer.h (diff)
The file was modifiedsrc/newt/native/NewtMacWindow.m (diff)
Commit 6d57bd7717834afcd5f1dc3b60d696eda1997fe8 by Sven Gothel
Cleanup ; JAWT* version flag setting based whether

Cleanup
  - use Platform OS_TYPE
  - ..

JAWT* version flag
  - if JAWTWindow is Applet, attempt offscreenLayer if avail
  - ..
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLDrawableImpl.java (diff)
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/jawt/JAWTWindow.java (diff)
The file was modifiedmake/config/nativewindow/jawt-CustomJavaCode.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLGraphicsConfigurationUtil.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/x11/glx/X11OnscreenGLXDrawable.java (diff)
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/jawt/windows/WindowsJAWTWindow.java (diff)
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/jawt/JAWTUtil.java (diff)
The file was modifiedmake/config/nativewindow/jawt-DrawingSurfaceInfo-CustomJavaCode.java (diff)
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/jawt/x11/X11JAWTWindow.java (diff)
Commit 5d6cbbcc2e0e819c3663e3ec451eefaf133f6435 by Sven Gothel
Impl layeredSurface (java/native):
  - OSXUtil: NSView backing creation
  - OSXUtil: AttachJAWTSurfaceLayer
  - MacOSXCGLContext.create(): Attach NSOpenGLLayer if layered
  - MacOSXCGLDrawable.updateHandle(): if direct: add NSView backing layer
  - MacOSXCGLDrawable: Add getNSViewHandle() to distinguish between NSView and none (CGL/pbuffer)
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLDrawable.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXOnscreenCGLDrawable.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXPbufferCGLDrawable.java (diff)
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/jawt/macosx/MacOSXJAWTWindow.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/macosx/MacWindow.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLContext.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLGraphicsConfiguration.java (diff)
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/macosx/OSXUtil.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLDrawableFactory.java (diff)
Commit ccb7213cdcef177eabf7538b7c0d1c3e34915640 by Sven Gothel
NativeWindow/JOGL: NativeSurface adds add/remove SurfaceUpdateListener

- SurfaceUpdateHelper contains impl. used by NativeSurface implementations.
The file was modifiedsrc/newt/classes/com/jogamp/newt/Window.java (diff)
The file was addedsrc/nativewindow/classes/jogamp/nativewindow/SurfaceUpdatedHelper.java (diff)
The file was modifiedsrc/nativewindow/classes/javax/media/nativewindow/NativeSurface.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/offscreen/WindowUtilNEWT.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/WindowImpl.java (diff)
The file was modifiedsrc/nativewindow/classes/javax/media/nativewindow/SurfaceUpdatedListener.java (diff)
The file was modifiedsrc/nativewindow/classes/javax/media/nativewindow/ProxySurface.java (diff)
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/jawt/JAWTWindow.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/opengl/GLWindow.java (diff)
Commit 7dff8e2e043bb5e7606b041f8d4b4ae7c1579085 by Sven Gothel
JOGL/Offscreen-Drawable: Use setRealized(boolean) protocol for offscreen/pbuffer

This allows allowing updateHandle()/destroyHandle() to be called.
The file was modifiedsrc/jogl/classes/jogamp/opengl/windows/wgl/WindowsPbufferWGLDrawable.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXPbufferCGLDrawable.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXOffscreenCGLDrawable.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/windows/wgl/WindowsBitmapWGLDrawable.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/x11/glx/X11PixmapGLXDrawable.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/x11/glx/X11PbufferGLXDrawable.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLDrawableFactory.java (diff)
Commit 0038e2d41825c22bdd18a7b86a8229a3fab674a3 by Sven Gothel
JOGL *Drawable swapBufferImpl() cleanup: Don't force swap-buffer off for offscreen/pbuffer, but respect GLDrawableImpl's decision (double-buffer)
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXPbufferCGLDrawable.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/windows/wgl/WindowsWGLDrawableFactory.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/egl/EGLPbufferDrawable.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXOnscreenCGLDrawable.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/x11/glx/X11PixmapGLXDrawable.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/x11/glx/X11PbufferGLXDrawable.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/windows/wgl/WindowsBitmapWGLDrawable.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/egl/EGLDrawable.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/windows/wgl/WindowsWGLDrawable.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/x11/glx/X11GLXDrawable.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/windows/wgl/WindowsPbufferWGLDrawable.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/egl/EGLOnscreenDrawable.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXExternalCGLContext.java (diff)
Commit 368cbf4462d7f3635c1ef4497424c360b5ccc203 by Sven Gothel
OS X Layered View: Use pbuffer method (pbuffer w/ dbl buffer)

- attributes +NSOpenGLPFANoRecovery +NSOpenGLPFAAccelerated
- use SurfaceUpdateListener() to notify layer
- swapBufferImpl() adapt to 0038e2d41825c22bdd18a7b86a8229a3fab674a3
- pbuffer: don't enforce POT tex-size to surface size, but pbuffer only
- FIXME: Check POT pbuffer/tex-size for X11/Win32/.. !
-
The file was modifiedmake/build-jogl.xml (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLGraphicsConfiguration.java (diff)
The file was modifiedmake/stub_includes/opengl/macosx-window-system.h (diff)
The file was modifiedsrc/jogl/native/macosx/MacOSXWindowSystemInterface.m (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLDrawable.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLDrawableFactory.java (diff)
The file was addedsrc/jogl/native/macosx/MacOSXWindowSystemInterface-pbuffer.m (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLContext.java (diff)
The file was modifiedsrc/nativewindow/native/macosx/OSXmisc.m (diff)
The file was modifiedmake/config/jogl/cgl-macosx.cfg (diff)
The file was addedsrc/jogl/native/macosx/MacOSXWindowSystemInterface-nsview.m (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXPbufferCGLDrawable.java (diff)
The file was addedsrc/jogl/native/macosx/MacOSXWindowSystemInterface.h (diff)
Commit 48c2ba5ee339487ef56ba58d861cb923e3d0c432 by Sven Gothel
JOGL: Add 'struct timespec' (POSIX) utils for native time handling
The file was addedsrc/jogl/native/timespec.h (diff)
The file was addedsrc/jogl/native/timespec.c (diff)
The file was modifiedmake/build-jogl.xml (diff)
Commit 297c97d28bb3490177b5ff9441f3d6494d09b819 by Sven Gothel
JOGL: GLBase Add 'isNPOTTextureAvailable()' for convenience
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLBase.java (diff)
The file was modifiedmake/config/jogl/gl-impl-CustomJavaCode-common.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/texture/Texture.java (diff)
Commit 769b17ac6ebc5ae49fe37eba13d43fea77fdfd40 by Sven Gothel
OSX: SharedResource add knowledge of NPOT-, RECT- and Float-Texture features, used by pbuffer drawable before a current context.

- Also  extract getNextPowerOf2() -> GLBuffers (remove redundancy)
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXPbufferCGLDrawable.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLDrawableFactory.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/GLBuffers.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/awt/GLJPanel.java (diff)
Commit b11c07b280ce35dc2fdeaf9f44f2ee9ced672a47 by Sven Gothel
GLContext: Intendation + Use generics (remove warnings)
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLContext.java (diff)
Commit 2fc4dd34d650348fe916352b101c9a715342a02e by Sven Gothel
FPSCounter: Use Java 1.5 TimeUnit
The file was modifiedsrc/jogl/classes/jogamp/opengl/FPSCounterImpl.java (diff)
Commit 835b88a4ec0a01edf23d2af2cc1d22a7550bdf9b by Sven Gothel
Minor edits: Remove unused code and warnings
The file was modifiedsrc/jogl/classes/jogamp/opengl/SharedResourceRunner.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLGraphicsConfigurationUtil.java (diff)
Commit 1055ce051fd7bd3c88724888cf8f46c75535a249 by Sven Gothel
OS X Layered View: Part2 Java/Native MacOSXCGLContext / MacOSXPbufferCGLContext

Undo 368cbf4462d7f3635c1ef4497424c360b5ccc203:
    - "use SurfaceUpdateListener() to notify layer", simply use MacOSXCGLContext's swap impl.

MacOSXCGLContext:
  - NSOpenGLImpl.create():
    - issues createNSOpenGLLayer() using tex-size (maybe POT) as args
    - attaches the NSOpenGLLayer to the JAWT layered surface host

  - NSOpenGLImpl.setSwapInterval() propagates interval to our NSOpenGLLayer impl.

  - NSOpenGLImpl.swapBuffer() (layer case):
    - waits for v-sync if enabled (v-sync), or until native 'draw' is finished (tearing)
      using our pthread/ NSOpenGLLayer synchronization.
      The latter uses CADisplayLink or CVDisplayLinkRef for v-sync synchronization.

    - flushes our local ctx

    - triggers our NSOpenGLLayer to 'draw'

- MacOSXPbufferCGLContext create() sets the texture size independently of pbuffer size (POT/NPOT)
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLContext.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXPbufferCGLContext.java (diff)
The file was modifiedmake/stub_includes/opengl/macosx-window-system.h (diff)
The file was modifiedsrc/jogl/native/macosx/MacOSXWindowSystemInterface-pbuffer.m (diff)
Commit 7bc4c218b47033cb66f4eb5e707a86a0a4e60cff by Sven Gothel
NativeWindow: Add accessor interfaces NativeSurfaceHolder and NativeWindowHolder

- NativeSurfaceHolder interface allows access to it's implementation's NativeSurface reference.
- NativeWindowHolder interface allows access to it's implementation's NativeWindow reference.

Implement or extend interface w/ these accessors whereever it seems fit:
  - NEWT Window
  - GLDrawable

These accessors allow lower layers to retrieve the NativeSurface/Window instance
w/o knowledge of the 'upper' frameworks, ie. NativeWindow/JOGL or JOGL/NEWT.

Commited in followups (due to mixed semantical changes in those files):
  - JAWTWindow
  - NewtCanvasAWT
  - Some NEWT impl.
The file was modifiedsrc/newt/classes/com/jogamp/newt/opengl/GLWindow.java (diff)
The file was modifiedsrc/nativewindow/classes/javax/media/nativewindow/NativeWindow.java (diff)
The file was modifiedsrc/nativewindow/classes/javax/media/nativewindow/NativeSurface.java (diff)
The file was addedsrc/nativewindow/classes/javax/media/nativewindow/NativeWindowHolder.java (diff)
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/WrappedSurface.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLDrawable.java (diff)
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/windows/GDISurface.java (diff)
The file was addedsrc/nativewindow/classes/javax/media/nativewindow/NativeSurfaceHolder.java (diff)
Commit 0d7bcd240542df38dd5ff7855f31660f5f0a7be9 by Sven Gothel
Minor edits: remove redundancies
The file was modifiedsrc/test/com/jogamp/opengl/test/android/NEWTGearsES2Activity.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/gl2/awt/TestGearsAWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/android/NEWTGraphUI2pActivity.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/android/NEWTGearsES2TransActivity.java (diff)
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/NativeWindowFactoryImpl.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/android/NEWTRedSquareES1Activity.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/android/NEWTElektronActivity.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/android/NEWTGearsES1Activity.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/android/NEWTRedSquareES2Activity.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLGraphicsConfiguration.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/android/NEWTGraphUI1pActivity.java (diff)
Commit d8fa00d35a49f4faf5f04aeb7e2bba4e972965f5 by Sven Gothel
OS X Layered View: Part3 JAWTWindow/MacOSXJAWTWindow (Java/Native)

JAWTWindow:
  - Add comment about caller of cstr, since it uses reflection
  - Field 'config' is of type AWTGraphicsConfiguration, validate and type it
  - Impl. NativeSurfaceHolder/NativeWindowHolder 'hooks'

MacOSXJAWTWindow:
  - Use agnostic JAWTUtil.isJAWTVersionUsingOffscreenLayer()
    to determine 'isOffscreenLayeredSurface'.
    We may promote this notion to JAWTWindow, which already holds 'isApplet'

  - lockSurface() case 'isOffscreenLayeredSurface':
    - Create dummy NSWindow (OSXUtil) for getWindowHandle()
    - Fix chosen caps: offscreen
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/macosx/OSXUtil.java (diff)
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/jawt/macosx/MacOSXJAWTWindow.java (diff)
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/jawt/JAWTWindow.java (diff)
The file was modifiedsrc/nativewindow/native/macosx/OSXmisc.m (diff)
Commit f51e3dad6c4bd1f6d0001cecf6a0f692400ed602 by Sven Gothel
OS X Layered View: Part4 NEWT OffscreenWindow/WindowImpl fix

WindowImpl:
  - Impl. NativeSurfaceHolder/NativeWindowHolder 'hooks'

  - setScreen() utilize proper screen reference count/destruction:
     - set 'screenReferenceAdded=true' and incr. ref-count,
       hence next destroy() properly decr. ref-count (may destuct screen).

OffscreenWindow:
  - Allow parent window handle (simply ignore it)
    Otherwise we could not use OffscreenWindow for parenting tests.

  - Fix setSize() propaget if !isNativeValid() instead of !isVisible(),
    otherwise lazy initialization doesn't work.

  - Allow reconfigureWindowImpl() to pass flags other than visible,
    simply ignore them.
The file was modifiedsrc/newt/classes/jogamp/newt/WindowImpl.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/OffscreenWindow.java (diff)
Commit 46542168d64b37f544f61802693f15b59b224e4e by Sven Gothel
OS X Layered View: Part5 NEWT/AWT Interaction ; Fix NSOpenGLLayer pos ; Cleanup

Better JAWT* name for offscreen layer surface:
  - MacOSXCGLDrawableFactory, JAWTUtil, JAWTWindow, MacOSXJAWTWindow

  - FIXME: Need to get rid of the cached JAWT instance,
    in case we like to have dual usage of offscreenLayerSurface and onscreen.
    This would be done implicit by using NEWT .. hence low prio.

AWTGraphicsConfiguration:
  - Fix create(): Use capsRequested for AWT aligned caps if capsChosen is null.
    (was capsChosen .. which is null)

  - Add updateGraphicsConfiguration() which allows to update the AWTGraphicsConfiguration.

NewtFactoryAWT:
  - Add updateGraphicsConfiguration() .. entrypoint for AWTGraphicsConfiguration.updateGraphicsConfiguration()

NSOpenGLLayer Impl:
  - For 'some reason' the layer's position is initially negative, fix it @ 1st 'draw'
  - Re-add CVDisplayLink OpenGL setting .. for what it's worth .. I don't know

JAWTWindow:
  - Remove test setting: Only enable offscreenLayerSurface for applets if avail.
    (New unit test enables it seperatly)

NewtCanvasAWT:
  - If NEWT child is offscreen, attach AWTMouseAdapter and AWTKeyAdapter
    to route these AWT input events to NEWT.

  - Don't loose-focus if NEWT child is offscreen.

  - Impl. NativeSurfaceHolder, NativeWindowHolder

  - NativeWindow is created at construction
    and it's GraphicsConfiguration updated at addNotify(..).

  - At addNotify/reparent: try harder to determine proper NEWT child size:
    - use preferred size if set
    - use minimum size if set
    - subtract insets from container size

OffscreenWindow/WindowImpl:
  - Allow setSize() .. currently NOP for offscreen.
  - WindowImpl: Commented out recreate case for offscreen-setSize ..

TEST: com.jogamp.opengl.test.junit.newt.parenting.TestParentingOffscreenLayer01AWT
  Passed tests:
    - GLCanvas
    - NewtCanvasAWT/OffscreenWindow
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/jawt/JAWTWindow.java (diff)
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/macosx/OSXUtil.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLDrawableFactory.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/WindowImpl.java (diff)
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/jawt/macosx/MacOSXJAWTWindow.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLContext.java (diff)
The file was modifiedsrc/nativewindow/classes/javax/media/nativewindow/awt/AWTGraphicsConfiguration.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/awt/NewtCanvasAWT.java (diff)
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/jawt/JAWTUtil.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/NewtFactory.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXPbufferCGLDrawable.java (diff)
The file was modifiedsrc/jogl/native/macosx/MacOSXWindowSystemInterface-pbuffer.m (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/newt/parenting/TestParentingOffscreenLayer01AWT.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/awt/event/NewtFactoryAWT.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/OffscreenWindow.java (diff)
Commit e392af4430af6b7b6d7f30fcca2bf00081641fe1 by Sven Gothel
Fix regression: setScreen(..) invalid ref count & flag

Undo parts of commits in this regard:
  - 46542168d64b37f544f61802693f15b59b224e4e: move method back to ReparentAction
  - f51e3dad6c4bd1f6d0001cecf6a0f692400ed602: remove added ref counter / flag
The file was modifiedsrc/newt/classes/jogamp/newt/WindowImpl.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/graph/curve/text/GlyphString.java (diff)
Commit f48713f52733b476d8d59e4a9a9e3f64afeba6a5 by Sven Gothel
Fix TestParenting03AWT: NewtCanvasAWT has always a NativeWindow

- Also make layout nice ..
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/parenting/TestParenting03AWT.java (diff)
Commit ed33158d3330dfe2287af5bfaf5aea99f199887c by Sven Gothel
Cleanup offscreen/pbuffer drawables - minor edits
The file was modifiedsrc/jogl/classes/jogamp/opengl/egl/EGLPbufferDrawable.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/windows/wgl/WindowsPbufferWGLDrawable.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/x11/glx/X11PbufferGLXDrawable.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXPbufferCGLDrawable.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXOffscreenCGLDrawable.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXOnscreenCGLDrawable.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/util/NEWTGLContext.java (diff)
Commit 8f5465396fe429ce6b7ecae808416691271c7867 by Sven Gothel
NativeWindow: SurfaceChangeable::setSize() -> surfaceSizeChanged() to avoid conflicts with setSize()

This fixes the NEWT OffscreenWindow conflict w/ setSize()
which represents the action of changing the window's size.
SurfaceChangeable's surfaceSizeChanged() merily notifies the actual size.

JAWTWindow: Remove setSize() since it propagates the surface size upstream only.

MacOSXJAWTWindow is not SurfaceChangeable complete (no surfaceSizeChanged).
The file was modifiedsrc/jogl/classes/jogamp/opengl/x11/glx/X11ExternalGLXDrawable.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/x11/glx/X11GLXDrawableFactory.java (diff)
The file was modifiedsrc/nativewindow/classes/javax/media/nativewindow/ProxySurface.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/swt/TestSWT02GLn.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLDrawableFactory.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/OffscreenWindow.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/x11/glx/X11PbufferGLXDrawable.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/x11/glx/X11DummyGLXDrawable.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/windows/wgl/WindowsWGLDrawableFactory.java (diff)
The file was modifiedsrc/nativewindow/classes/javax/media/nativewindow/SurfaceChangeable.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/windows/wgl/WindowsDummyWGLDrawable.java (diff)
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/WrappedSurface.java (diff)
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/jawt/JAWTWindow.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/windows/wgl/WindowsPbufferWGLDrawable.java (diff)
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/jawt/macosx/MacOSXJAWTWindow.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/egl/EGLDrawableFactory.java (diff)
Commit a968068d835a28610bd63e6eec5043cb4592cf08 by Sven Gothel
NewtCanvasAWT: Fix NPE (regression from commit 46542168d64b37f544f61802693f15b59b224e4e)
The file was modifiedsrc/newt/classes/com/jogamp/newt/awt/NewtCanvasAWT.java (diff)
Commit 0bdf9a9bb63a6e151acb5c58a0ab06a2644d4700 by Sven Gothel
NewtCanvasAWT: nativeWindow field lifecycle is same as holder (Composition). (regression from commit 46542168d64b37f544f61802693f15b59b224e4e)
The file was modifiedsrc/newt/classes/com/jogamp/newt/awt/NewtCanvasAWT.java (diff)
Commit 44b86776d35668c12ccc698b92ae955bde8f250a by Sven Gothel
NativeWindow minor edits: Remove warnings (generics, imports, ..)
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/jawt/x11/X11JAWTWindow.java (diff)
The file was modifiedsrc/nativewindow/classes/javax/media/nativewindow/NativeWindowFactory.java (diff)
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/jawt/x11/X11SunJDKReflection.java (diff)
The file was modifiedsrc/nativewindow/classes/javax/media/nativewindow/GraphicsConfigurationFactory.java (diff)
Commit d1ac91ae3e8fab5176cb677a20fd764f04a00cc8 by Sven Gothel
Fix regression JAWTWindow/AWTGraphicsConfiguration updateGraphicsConfiguration() of commit 46542168d64b37f544f61802693f15b59b224e4e

While introducing NewtCanvasAWT's lifetime reference of (JAWTWindow) nativeWindow
using updateGraphicsConfiguration() to determine the actual config values at addNotify(),
it was overseen that the AWTGraphicsDevice needs to be re-validated.

JAWTWindow's validateNative() ensures that the AWTGraphicsDevice reflects the platform
native handle where required (X11).
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/jawt/JAWTWindow.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/awt/event/NewtFactoryAWT.java (diff)
Commit 1eafd5b458db26ae47a836969968aded584abc70 by Sven Gothel
Fix MacOSXJAWTWindow: Impl. SurfaceChangeable ; Proper invalidateNative()

Impl. SurfaceChangeable (regression 8f5465396fe429ce6b7ecae808416691271c7867)
  - offscreenSurfaceLayer code requires instanceof SurfaceChangeable
  - overwrite JAWTWindow size getter: use surfaceSizeChanged() values if used.

Proper invalidateNative()
  - detach JAWTSurfaceLayer if set
  - destroy dummy NSWindow (was typo)
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/jawt/macosx/MacOSXJAWTWindow.java (diff)
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/jawt/JAWTWindow.java (diff)
Commit 09dd954dbbc025c5ecd798250989553aa0ab3b81 by Sven Gothel
MacOSXPbufferCGLDrawable: verbose debug messages
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXPbufferCGLDrawable.java (diff)
Commit 51ad6992e068f25d86d2c9e085bd7ec6f49d2432 by Sven Gothel
NEWT/WindowImpl: Generalize recreation @ setSize() for offscreen surface

In case of offscreen surfaces (pbuffer, ..) we have to go through
a whole destroy/setSize/create cycle.
The file was modifiedsrc/newt/classes/jogamp/newt/WindowImpl.java (diff)
Commit d237bde81beb9fc7bcd04b500a59360b63477285 by Sven Gothel
Animator: Limit wait for condition in finishLifecycleAction() via timeout

While impl. recreation for offscreen surfaces @ WindowImpl.setSize(),
commit 51ad6992e068f25d86d2c9e085bd7ec6f49d2432, it appears Animator deadlocks in some cases.

finishLifecycleAction() [blocks until pause() .. is accomplished]
queries whether we are even able to wait using skipWaitForCompletion().
The latter method can only query if we are on the animation thread or AWT-EDT, etc,
but not if we have traversed through a 3rd party thread, eg NEWT EDT.

This patches limits the wait with a timeout of 20frames @ 60Hz (20*16ms).
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/Animator.java (diff)
Commit 3e7818ad09a3339d8cf056729533e611a63b1965 by Sven Gothel
NEWT/Screen: minor editing/cleanup
The file was modifiedsrc/newt/classes/jogamp/newt/ScreenImpl.java (diff)
Commit af083029321b3ff57c37f9426ecf5eb526b5e7ae by Sven Gothel
NEWT/WindowImpl: Fix minor regression offscreen recreate @ setSize() (commit 51ad6992e068f25d86d2c9e085bd7ec6f49d2432)

Even though this is not a bug, but it changes the expected EDT lifecycle and hence
would require to change our test cases.

Only flip screen's reference count (which may lead to create/destroy of the EDT)
in the recreate case, where it's needed.
The file was modifiedsrc/newt/classes/jogamp/newt/WindowImpl.java (diff)
Commit 0120a81c36ffc7455d196960048fe935f82fc9a6 by Sven Gothel
OS X Layered View: Part6 (native) Using a root CALayer where we attach/detach our GL one

- it seems to be more stable, having one root CALayer attached to the JAWT_SurfaceView forever

- tackles crach at GL layer destruction

  - proper release of all GL layer resources

  - now final [gl-layer dealloc] happens at very destruction of JAWT object,
    even though it was removed from root-layer earlier (and all other references)

  - see comment in MacOSXWindowSystemInterface-pbuffer.m :: createNSOpenGLLayer(..)

  - at least no more crash .. and resource release ASAP, but the GL-layer itself (see above)
The file was modifiedsrc/nativewindow/native/macosx/OSXmisc.m (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLContext.java (diff)
The file was modifiedsrc/jogl/native/macosx/MacOSXWindowSystemInterface-pbuffer.m (diff)
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/macosx/OSXUtil.java (diff)
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/jawt/macosx/MacOSXJAWTWindow.java (diff)
The file was modifiedmake/build-nativewindow.xml (diff)
Commit 3a6f6fd237505e8ced20b64579cca42e61751c51 by Sven Gothel
Minor edits: Remove dead code / fix dbg printf
The file was modifiedsrc/nativewindow/native/macosx/OSXmisc.m (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLDrawable.java (diff)
Commit f3e05fe62b91134ac601520c6f9c44d6d31fcd86 by Sven Gothel
Revert introduction of NativeSurfaceHolder and NativeWindowHolder interfaces

I was too fast introducing these accessors, since they are currently not needed
and hence redundant.

Complete
- 7bc4c218b47033cb66f4eb5e707a86a0a4e60cff

Partial in regards to the holder interfaces only:
- d8fa00d35a49f4faf5f04aeb7e2bba4e972965f5
- f51e3dad6c4bd1f6d0001cecf6a0f692400ed602
- 46542168d64b37f544f61802693f15b59b224e4e
The file was modifiedsrc/newt/classes/com/jogamp/newt/awt/NewtCanvasAWT.java (diff)
The file was modifiedsrc/nativewindow/classes/javax/media/nativewindow/NativeSurface.java (diff)
The file was modifiedsrc/nativewindow/classes/javax/media/nativewindow/NativeWindow.java (diff)
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/jawt/JAWTWindow.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/WindowImpl.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLDrawableFactory.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/opengl/GLWindow.java (diff)
The file was removedsrc/nativewindow/classes/javax/media/nativewindow/NativeWindowHolder.java (diff)
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/WrappedSurface.java (diff)
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/windows/GDISurface.java (diff)
The file was removedsrc/nativewindow/classes/javax/media/nativewindow/NativeSurfaceHolder.java (diff)
The file was modifiedsrc/jogl/classes/javax/media/opengl/GLDrawable.java (diff)
Commit f0962124acf99a608f5e5e2f5f59fcb10f604403 by Sven Gothel
Animator timeout/refinement

- AnimatorImpl: evaluate double negation
    if(!skipWaitForCompletion(Thread)) -> if(blockUntilDone(Thread))

- Simplify finishLifecycleAction() and reduce timeout
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/AnimatorBase.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/DefaultAnimatorImpl.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/AWTAnimatorImpl.java (diff)
The file was modifiedsrc/jogl/classes/com/jogamp/opengl/util/Animator.java (diff)
Commit 7e81956daf1d5c81f6344e7f5509ae08947f8434 by Sven Gothel
OS X Layered View: Part7 Allow NEWT onscreen MacWindow to be used incl reparenting

Test: enable NEWT 'onscreen' case
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/jawt/macosx/MacOSXJAWTWindow.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/macosx/MacWindow.java (diff)
The file was modifiedsrc/jogl/native/macosx/MacOSXWindowSystemInterface-pbuffer.m (diff)
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/NativeWindowFactoryImpl.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/parenting/TestParentingOffscreenLayer01AWT.java (diff)
The file was modifiedsrc/nativewindow/native/macosx/OSXmisc.m (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/WindowImpl.java (diff)
The file was modifiedsrc/jogl/native/macosx/MacOSXWindowSystemInterface.h (diff)
Commit 88c80de9a227b15cc1e287bba8e62e3c55b4a2b1 by Sven Gothel
Nativewindow: Introduce API private MutableGraphicsConfiguration

MutableGraphicsConfiguration allows derivations to set the chosen capabilities,
hence it is a non public API from which eg. JOGL GraphicsConfiguration derive.
The file was modifiedsrc/jogl/classes/jogamp/opengl/windows/wgl/WindowsWGLGraphicsConfiguration.java (diff)
The file was modifiedsrc/nativewindow/classes/javax/media/nativewindow/x11/X11GraphicsConfiguration.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/egl/EGLGraphicsConfiguration.java (diff)
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/x11/X11GraphicsConfigurationFactory.java (diff)
The file was modifiedsrc/nativewindow/classes/javax/media/nativewindow/DefaultGraphicsConfiguration.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLGraphicsConfigurationUtil.java (diff)
The file was addedsrc/nativewindow/classes/jogamp/nativewindow/MutableGraphicsConfiguration.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLGraphicsConfiguration.java (diff)
Commit 33aaa037e31ec7d411f4acaeea63a383037f027d by Sven Gothel
OSX: Fix context update call

It turns our that the native ContextUpdater does not work reliable in all cases,
hence we need to verify if the drawable size has changed as well.
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXOnscreenCGLContext.java (diff)
The file was modifiedsrc/jogl/native/macosx/ContextUpdater.m (diff)
Commit 8a16d590fe2c739badbabe4906cbe9d60b20e2b9 by Sven Gothel
OS X Layered View Part8: Generalize OffscreenLayerSurface ; Use local JAWT instance ; Applet's on OS X are working

Generalize OffscreenLayerSurface
  - Using new OffscreenLayerSurface allows using this functionality in a clean manner,
    ie. no 'dirty' usage of MacOSXJAWTWindow in a JOGL GL class.

  - 'Promoting' OffscreenLayerSurface functionality to JAWTWindow
    and it's handling to GLDrawableFactoryImpl::createGLDrawable().

  - Move MacOSXCGLDrawableFactory's "MacOSXJAWTWindow getLayeredSurfaceHost(NativeSurface surface)"
    to NativeWindowFactory "OffscreenLayerSurface getOffscreenLayerSurface(NativeSurface surface, boolean ifEnabled)"

Use local JAWT instance
  - Only w/ a local JAWT instance per JAWTWindow it is possible to switch between
    offscreen-layer and onscreen. We also have to determing offscreen-layer lazy
    at surface lock, since only at that time we have knowledge whether it's an Applet
    or not.

+++

ContextUpdater:
  Use local pthread mutex, add DEBUG output

JAWTWindow/NewtCanvasAWT:
  Adding methods to request offscreen-layer-surface (if supported),
  besides 'if applet' this may trigger the new functionality.

+++

Applet's on OS X are working:
  - OS X 10.6.4
    - Safari:
      - Hangs for a while at start .. whole screen freezes .. approx. 10s
      - Sometimes crashes when Applet stops - after all our resources are released!
      - Keyboard input isn't assigned sometimes.
      - Otherwise .. works well, incl. offscreen/onscreen parenting

    - Firefox 8.0:
      - Hangs for a while at start .. whole screen freezes .. approx. 10s
      - Sometimes crashes when Applet stops - after all our resources are released!
      - Keyboard input is never assigned.
      - Otherwise .. works well, incl. offscreen/onscreen parenting

  - OS X 10.7
    - Safari:
      - Sometimes crashes when Applet stops - after all our resources are released!
      - Keyboard input isn't assigned sometimes.
      - Otherwise .. works well, incl. offscreen/onscreen parenting

    - Firefox 8.0:
      - Sometimes crashes when Applet stops - after all our resources are released!
      - Keyboard input is never assigned.
      - Otherwise .. works well, incl. offscreen/onscreen parenting
The file was modifiedmake/config/nativewindow/jawt-DrawingSurfaceInfo-CustomJavaCode.java (diff)
The file was modifiedsrc/jogl/native/macosx/MacOSXWindowSystemInterface.h (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLDrawableFactory.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/awt/NewtCanvasAWT.java (diff)
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/jawt/x11/X11JAWTWindow.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/awt/applet/JOGLNewtApplet1Run.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLContext.java (diff)
The file was modifiedmake/config/nativewindow/jawt-CustomJavaCode.java (diff)
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/jawt/windows/WindowsJAWTWindow.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/awt/event/NewtFactoryAWT.java (diff)
The file was modifiedsrc/nativewindow/classes/javax/media/nativewindow/NativeWindowFactory.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXOnscreenCGLContext.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLDrawableFactoryImpl.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLDrawable.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/parenting/TestParentingOffscreenLayer01AWT.java (diff)
The file was modifiedsrc/jogl/native/macosx/ContextUpdater.h (diff)
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/jawt/JAWTUtil.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/awt/applet/JOGLNewtAppletBase.java (diff)
The file was modifiedsrc/newt/native/NewtMacWindow.h (diff)
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/jawt/macosx/MacOSXJAWTWindow.java (diff)
The file was modifiedsrc/jogl/native/macosx/ContextUpdater.m (diff)
The file was addedsrc/nativewindow/classes/javax/media/nativewindow/OffscreenLayerSurface.java (diff)
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/jawt/JAWTWindow.java (diff)
Commit daccd28a562c2211f0ab6f30a5eac02ffef2945a by Sven Gothel
OSXUtil: Remove (ClassLoader) dependency on JAWT_DrawingSurfaceInfo (dirty hack)

.. need to move the attach/detach surface layer NIO methods to a AWT OSX class.
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/macosx/OSXUtil.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
Commit d644e9321dceeecdd94a1797e25e6e356d957c23 by Sven Gothel
Fix OS X JAWT SIGSEGV @ NEWT Window creation ; Reloc AttachJAWTSurfaceLayer() OSXUtil -> MacOSXJAWTWindow

Threading/sync issue when creating a NEWT window, which issues a Java callback from native code (positionChanged()).
The latter requires a location validation w/ getLocationOnScreen() involved.
Hence getLocationOnScreen() shall not lock the JAWT native resources,
since it may not be ready yet (-> threading/sync issue).
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/jawt/windows/WindowsJAWTWindow.java (diff)
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/jawt/macosx/MacOSXJAWTWindow.java (diff)
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/jawt/x11/X11JAWTWindow.java (diff)
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/jawt/JAWTWindow.java (diff)
The file was modifiedsrc/nativewindow/classes/jogamp/nativewindow/macosx/OSXUtil.java (diff)
The file was modifiedsrc/nativewindow/native/macosx/OSXmisc.m (diff)
Commit 3b38957f36d4f89b85730755a41c00892ac70591 by Sven Gothel
NEWT InputEvent consumed: Expose special attachement Object 'consumedTag', which ends event propagation if attach to an InputEvent.
The file was modifiedsrc/newt/classes/com/jogamp/newt/event/InputEvent.java (diff)
Commit 3db4e89cb2c36f63c6d0a8f3450705d1ef3694b0 by Sven Gothel
NEWT/AWT Focus Traversal / Deadlock Fix (Windows) ; Harmonized NEWT KeyListener handling (Bug 526)

NativeWindow:
  - expose 'hasFocus()'

Window:
  - 'protected enqueueRequestFocus(..)' -> 'public requestFocus(boolean wait)'

  - New: 'setKeyboardFocusHandler(KeyListener)' allowing focus traversal co-op w/ covered TK (AWT)

WindowImpl:
  - Impl Window changes (see above)
  - Impl 'consumedTag' see commit 3b38957f36d4f89b85730755a41c00892ac70591

NewtCanvasAWT:
  - FocusAction only removes the global AWT focus owner.
    This fixes a deadlock on the Windows platform of AWT's native peer requestFocus impl,
    since it's no more called at this point.

  - NEW FocusTraversalKeyListener is set as the newtChild's KeyboardFocusHandler,
    allowing traversal to the next/previous AWT component.

AWTParentWindowAdapter:
  - focusGained(..) clears AWT focus and propagates focus to Newt child,
    non blocking w/ 'requestFocus(false)' (see above)

KeyEvent:
  - Document limitations of getKeyChar() (Bug 526)

MacWindow:
  - only deliver keyChar on key Typed events, harmonizing platform behavior (Bug 526)

WindowsWindow:
  - regenerate the keyCode for EVENT_KEY_TYPED (Bug 526)

X11Windows:
  - complete keyCode mapping X11 -> Newt - X11KeySym2NewtVKey()
  - only deliver keyChar on key Typed events, harmonizing platform behavior (Bug 526)

Tests:
  - GearsES2: Make focus visible
  - TestParentingFocusTraversal01AWT: unit test for keyboard focus traversal w/ NewtCanvasAWT
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/GearsES2.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/parenting/NewtAWTReparentingKeyAdapter.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/windows/WindowsWindow.java (diff)
The file was modifiedsrc/newt/native/WindowsWindow.c (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedsrc/nativewindow/classes/javax/media/nativewindow/NativeWindow.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/event/KeyEvent.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/WindowImpl.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/TestCloseNewtAWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/parenting/TestParenting03AWT.java (diff)
The file was modifiedsrc/newt/native/NewtMacWindow.m (diff)
The file was addedsrc/test/com/jogamp/opengl/test/junit/newt/parenting/TestParentingFocusTraversal01AWT.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/opengl/GLWindow.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/macosx/MacWindow.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/awt/NewtCanvasAWT.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/awt/event/AWTParentWindowAdapter.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/Window.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/util/AWTRobotUtil.java (diff)
The file was modifiedsrc/newt/native/X11Window.c (diff)
The file was modifiedmake/scripts/tests-x64.bat (diff)
Commit 82773da0e9d6253af935ca809f72aa21a125c65a by Sven Gothel
Fix NewtCanvasAWT Focus Traversal (focusable)

- need to set setFocusable(true) manually due to z-order (newt child upfront)
The file was modifiedsrc/newt/classes/com/jogamp/newt/awt/NewtCanvasAWT.java (diff)
Commit 2b4318da81b2ce97b7f7291f423053d9d4a46eca by Sven Gothel
Fix Reloc AttachJAWTSurfaceLayer() (commit d644e9321dceeecdd94a1797e25e6e356d957c23)

Missed build-nativewindow.xml commit
The file was modifiedmake/build-nativewindow.xml (diff)
Commit cd609dc73fc7d7ecfc67670c57cfc7d90dff4eb8 by Sven Gothel
WindowsWGLDrawableFactory createOffscreenDrawable() - Don't spin off creation on AWT thread (may deadlock)
The file was modifiedsrc/jogl/classes/jogamp/opengl/windows/wgl/WindowsWGLDrawableFactory.java (diff)
The file was modifiedsrc/jogl/classes/jogamp/opengl/GLDrawableFactoryImpl.java (diff)
Commit d043973f421a149ee216472fde68106be9cf1c06 by Sven Gothel
Focus Test: Don't assume NewtCanvasAWT even received the focus
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/TestFocus01SwingAWTRobot.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/TestFocus02SwingAWTRobot.java (diff)
Commit 94498289e57deb18d51f267c6c029d6d4f847dfe by Sven Gothel
Relocate NewtFactoryAWT: jogamp.newt.awt.event -> jogamp.newt.awt
The file was addedsrc/newt/classes/jogamp/newt/awt/NewtFactoryAWT.java (diff)
The file was removedsrc/newt/classes/jogamp/newt/awt/event/NewtFactoryAWT.java (diff)
Commit 76562bc5073909410ccf8a72a01d6998356a9d70 by Sven Gothel
NEWT Window: Promote/Expose 'Window getDelegatedWindow()' for accessing the delegate (ie GLWindow)
The file was modifiedsrc/newt/classes/com/jogamp/newt/opengl/GLWindow.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/parenting/TestParenting01bAWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/RedSquareES2.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/event/NEWTEvent.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/parenting/TestParenting02AWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/parenting/TestTranslucentParentingAWT.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/Window.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/parenting/TestParenting01aAWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/TestListenerCom01AWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/parenting/TestParenting03AWT.java (diff)
The file was modifiedsrc/newt/classes/jogamp/newt/driver/android/NewtBaseActivity.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/parenting/TestParenting01cAWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/parenting/TestParenting01cSwingAWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/parenting/TestParenting01NEWT.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/parenting/TestParentingOffscreenLayer01AWT.java (diff)
Commit d7ee8ff7c919b71107539e9c012a9170e60ceaa9 by Sven Gothel
NewtMacWindow: Add CR/LF to DBG_PRINT
The file was modifiedsrc/newt/native/NewtMacWindow.m (diff)
Commit 2641d1cffebff214c4b37d7291627f76cc3bbe3f by Sven Gothel
NEWT: Move 'focusAction()' invokation from native code to Java, avoiding deadlocks and simplify call-tree
The file was modifiedsrc/newt/classes/jogamp/newt/WindowImpl.java (diff)
The file was modifiedsrc/newt/native/X11Window.c (diff)
The file was modifiedsrc/newt/native/WindowsWindow.c (diff)
The file was modifiedsrc/newt/native/MacWindow.m (diff)
Commit 8a985f8652151684063853f61e479d75d8203f07 by Sven Gothel
NEWT/AWT Focus traversal enhancement/fix (incl. OS X fixes)

- MacWindow/OffscreeSurface
  - Exclude native NEWT window calls in case it's an offscreen surface

- MacWindow/DriverClearFocus
  - Introduce driver detail DriverClearFocus interface
  - OS X needs to clear the focus, before another TK (eg. AWT) can claim it's (native parent window focus)

- MacWindow/KeyCode:
  - Move OS X keyCode utils to MacKeyUtil
  - MacKeyUtil now uses OS X virtual key codes first, before matching keyChar -> keyCode

- NewtCanvasAWT
  - Issue all AWT 'requestFocus()' on current thread,
    Newt-EDT -> AWT-EDT may freeze Window's native peer requestFocus() impl.

  - FocusAction directly issue action on Newt-EDT,
    also request AWT focus if not having it (proper AWT traversal)

  - Add an FocusPropertyChangeListener, detecting focus lost
    to issue DriverClearFocus's clearFocus() if available.

  - merge configureNewtChildInputEventHandler() code into configureNewtChild()
    to simplify call tree.

- WindowImplAccess: Use getDelegatedWindow()
The file was modifiedsrc/newt/classes/jogamp/newt/driver/macosx/MacWindow.java (diff)
The file was modifiedsrc/newt/classes/com/jogamp/newt/awt/NewtCanvasAWT.java (diff)
The file was addedsrc/newt/classes/jogamp/newt/driver/DriverClearFocus.java (diff)
The file was modifiedsrc/test/jogamp/newt/WindowImplAccess.java (diff)
The file was addedsrc/newt/classes/jogamp/newt/driver/macosx/MacKeyUtil.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/parenting/TestParentingFocusTraversal01AWT.java (diff)
Commit cc63a4689c3a6456fb616341c19eb4f0d0ab722a by Sven Gothel
Demo: GearsES1/ES2 visualize focus
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es1/GearsES1.java (diff)
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/jogl/demos/es2/GearsES2.java (diff)
Commit cf31fc3d119cc8ce531b2b7d898e6d80af79d051 by Sven Gothel
NEWT build: Add jogamp/newt/driver/* to core
The file was modifiedmake/build-newt.xml (diff)
Commit 21439c3423e8a2539cd2bfd4a0c210ae28fac323 by Sven Gothel
NEWT MacWindow: Revised offscreen FIXME tags
The file was modifiedsrc/newt/classes/jogamp/newt/driver/macosx/MacWindow.java (diff)
Commit 04fece27389ad1b35de0f344819801f36730b8fd by Sven Gothel
minor edits: test, scripts
The file was modifiedsrc/test/com/jogamp/opengl/test/junit/newt/parenting/TestParentingFocusTraversal01AWT.java (diff)
The file was modifiedmake/scripts/tests.sh (diff)
The file was modifiedmake/scripts/tests-x64.bat (diff)