summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* X11GLXDrawableFactory.createOffscreenSurfaceImpl(): Create own screen/device ↵Sven Gothel2011-11-231-8/+14
| | | | | | | instance pair Don't use the shared device due to locking issues on X11. Other platform impl. usually don't have native semantics on device/screen and may use it.
* NativeWindow GraphicsDevice javadoc cleanup / Factory method access cleanup ↵Sven Gothel2011-11-215-10/+18
| | | | (minor edits)
* Add Unit Test TestGearsAWTAnalyzeBug455 to analyze bug455 - inconclusiveSven Gothel2011-11-212-1/+168
|
* Initialize JAWTUtil/JAWTJNILibLoader in static initialzier block, not ↵Sven Gothel2011-11-213-4/+9
| | | | leaving privileged block
* Fix GLDrawableFactory: Move 'GLContext getOrCreateSharedContext(..)' to non ↵Sven Gothel2011-11-215-111/+108
| | | | | | | | | | | | | | public class GLDrawableFactoryImpl. Michael Weber's test case (commit e7388512b69979d00e5a213a1b166a1b1726ae0c) pointed me to the flaw in GLDrawableFactory which exposed a non-public method, ie. 'getOrCreateSharedContext()'. This lead to the assumption, that the 'shared' drawable/context of the factory is multi purpose and may be used for application context sharing - which is not the case. Changed Michael's test case to use a local shared pbuffer based drawable/context and made the method non-public, where it belongs.
* Enable FreeBSD x86_64 builds (and add swt.jar)Jacob Senglea2011-11-212-0/+3
|
* Merge pull request #40 from michaelhermannweber/bug_523Sven Gothel2011-11-201-0/+791
|\ | | | | New test case that demonstates bug 523, hang on application exit
| * New test case that demonstates bug 523, hang on application exit ifMichael Weber2011-11-041-0/+791
| | | | | | | | | | GLContext objects are shared across GLWindow instances. This bug does not manifest in the latest source.
* | Tests: Use WindowFocusListener for AWTRobot toFront(.. window), more reliableSven Gothel2011-11-204-6/+87
| |
* | minor edits: test, scriptsSven Gothel2011-11-203-4/+4
| |
* | NEWT MacWindow: Revised offscreen FIXME tagsSven Gothel2011-11-201-6/+5
| |
* | NEWT build: Add jogamp/newt/driver/* to coreSven Gothel2011-11-191-1/+1
| |
* | Demo: GearsES1/ES2 visualize focusSven Gothel2011-11-192-3/+16
| |
* | NEWT/AWT Focus traversal enhancement/fix (incl. OS X fixes)Sven Gothel2011-11-196-298/+533
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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()
* | NEWT: Move 'focusAction()' invokation from native code to Java, avoiding ↵Sven Gothel2011-11-194-58/+70
| | | | | | | | deadlocks and simplify call-tree
* | NewtMacWindow: Add CR/LF to DBG_PRINTSven Gothel2011-11-191-15/+17
| |
* | NEWT Window: Promote/Expose 'Window getDelegatedWindow()' for accessing the ↵Sven Gothel2011-11-1915-21/+22
| | | | | | | | delegate (ie GLWindow)
* | Relocate NewtFactoryAWT: jogamp.newt.awt.event -> jogamp.newt.awtSven Gothel2011-11-191-1/+1
| |
* | Focus Test: Don't assume NewtCanvasAWT even received the focusSven Gothel2011-11-182-2/+0
| |
* | WindowsWGLDrawableFactory createOffscreenDrawable() - Don't spin off ↵Sven Gothel2011-11-182-27/+17
| | | | | | | | creation on AWT thread (may deadlock)
* | Fix Reloc AttachJAWTSurfaceLayer() (commit ↵Sven Gothel2011-11-181-0/+1
| | | | | | | | | | | | d644e9321dceeecdd94a1797e25e6e356d957c23) Missed build-nativewindow.xml commit
* | Fix NewtCanvasAWT Focus Traversal (focusable)Sven Gothel2011-11-181-0/+4
| | | | | | | | - need to set setFocusable(true) manually due to z-order (newt child upfront)
* | NEWT/AWT Focus Traversal / Deadlock Fix (Windows) ; Harmonized NEWT ↵Sven Gothel2011-11-1820-127/+617
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | NEWT InputEvent consumed: Expose special attachement Object 'consumedTag', ↵Sven Gothel2011-11-181-0/+5
| | | | | | | | which ends event propagation if attach to an InputEvent.
* | Fix OS X JAWT SIGSEGV @ NEWT Window creation ; Reloc ↵Sven Gothel2011-11-186-71/+119
| | | | | | | | | | | | | | | | | | 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).
* | test scriptSven Gothel2011-11-121-3/+11
| |
* | OSXUtil: Remove (ClassLoader) dependency on JAWT_DrawingSurfaceInfo (dirty hack)Sven Gothel2011-11-121-2/+4
| | | | | | | | .. need to move the attach/detach surface layer NIO methods to a AWT OSX class.
* | OS X Layered View Part8: Generalize OffscreenLayerSurface ; Use local JAWT ↵Sven Gothel2011-11-1223-363/+569
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | OSX: Fix context update callSven Gothel2011-11-122-6/+16
| | | | | | | | | | 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.
* | Nativewindow: Introduce API private MutableGraphicsConfigurationSven Gothel2011-11-128-21/+78
| | | | | | | | | | MutableGraphicsConfiguration allows derivations to set the chosen capabilities, hence it is a non public API from which eg. JOGL GraphicsConfiguration derive.
* | OS X Layered View: Part7 Allow NEWT onscreen MacWindow to be used incl ↵Sven Gothel2011-11-118-33/+102
| | | | | | | | | | | | reparenting Test: enable NEWT 'onscreen' case
* | Animator timeout/refinementSven Gothel2011-11-114-21/+22
| | | | | | | | | | | | | | - AnimatorImpl: evaluate double negation if(!skipWaitForCompletion(Thread)) -> if(blockUntilDone(Thread)) - Simplify finishLifecycleAction() and reduce timeout
* | Revert introduction of NativeSurfaceHolder and NativeWindowHolder interfacesSven Gothel2011-11-1112-144/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | Minor edits: Remove dead code / fix dbg printfSven Gothel2011-11-112-53/+1
| |
* | OS X Layered View: Part6 (native) Using a root CALayer where we ↵Sven Gothel2011-11-106-99/+259
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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)
* | NEWT/WindowImpl: Fix minor regression offscreen recreate @ setSize() (commit ↵Sven Gothel2011-11-101-3/+6
| | | | | | | | | | | | | | | | | | | | 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.
* | NEWT/Screen: minor editing/cleanupSven Gothel2011-11-101-4/+3
| |
* | Animator: Limit wait for condition in finishLifecycleAction() via timeoutSven Gothel2011-11-101-4/+9
| | | | | | | | | | | | | | | | | | | | | | | | 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).
* | NEWT/WindowImpl: Generalize recreation @ setSize() for offscreen surfaceSven Gothel2011-11-101-53/+54
| | | | | | | | | | In case of offscreen surfaces (pbuffer, ..) we have to go through a whole destroy/setSize/create cycle.
* | MacOSXPbufferCGLDrawable: verbose debug messagesSven Gothel2011-11-101-1/+2
| |
* | Fix MacOSXJAWTWindow: Impl. SurfaceChangeable ; Proper invalidateNative()Sven Gothel2011-11-102-11/+38
| | | | | | | | | | | | | | | | | | | | 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)
* | Fix regression JAWTWindow/AWTGraphicsConfiguration ↵Sven Gothel2011-11-102-1/+21
| | | | | | | | | | | | | | | | | | | | | | 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).
* | NativeWindow minor edits: Remove warnings (generics, imports, ..)Sven Gothel2011-11-104-26/+30
| |
* | NewtCanvasAWT: nativeWindow field lifecycle is same as holder (Composition). ↵Sven Gothel2011-11-091-1/+0
| | | | | | | | (regression from commit 46542168d64b37f544f61802693f15b59b224e4e)
* | NewtCanvasAWT: Fix NPE (regression from commit ↵Sven Gothel2011-11-091-2/+4
| | | | | | | | 46542168d64b37f544f61802693f15b59b224e4e)
* | NativeWindow: SurfaceChangeable::setSize() -> surfaceSizeChanged() to avoid ↵Sven Gothel2011-11-0916-19/+24
| | | | | | | | | | | | | | | | | | | | | | | | 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).
* | test: minor editSven Gothel2011-11-091-0/+1
| |
* | Cleanup offscreen/pbuffer drawables - minor editsSven Gothel2011-11-096-46/+28
| |
* | Fix TestParenting03AWT: NewtCanvasAWT has always a NativeWindowSven Gothel2011-11-091-28/+28
| | | | | | | | - Also make layout nice ..
* | minor editSven Gothel2011-11-091-1/+1
| |