summaryrefslogtreecommitdiffstats
path: root/src/nativewindow/classes/jogamp
Commit message (Collapse)AuthorAgeFilesLines
* NativeWindow: SurfaceChangeable::setSize() -> surfaceSizeChanged() to avoid ↵Sven Gothel2011-11-093-7/+2
| | | | | | | | | | | | 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).
* OS X Layered View: Part5 NEWT/AWT Interaction ; Fix NSOpenGLLayer pos ; CleanupSven Gothel2011-11-094-23/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* OS X Layered View: Part3 JAWTWindow/MacOSXJAWTWindow (Java/Native)Sven Gothel2011-11-093-23/+80
| | | | | | | | | | | | | | | | 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
* Minor edits: remove redundanciesSven Gothel2011-11-091-3/+0
|
* NativeWindow: Add accessor interfaces NativeSurfaceHolder and NativeWindowHolderSven Gothel2011-11-092-0/+10
| | | | | | | | | | | | | | | | | - 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.
* NativeWindow/JOGL: NativeSurface adds add/remove SurfaceUpdateListenerSven Gothel2011-11-062-2/+103
| | | | - SurfaceUpdateHelper contains impl. used by NativeSurface implementations.
* Impl layeredSurface (java/native):Sven Gothel2011-11-052-47/+130
| | | | | | | | - 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)
* Cleanup ; JAWT* version flag setting based whetherSven Gothel2011-11-054-21/+34
| | | | | | | | | | Cleanup - use Platform OS_TYPE - .. JAWT* version flag - if JAWTWindow is Applet, attempt offscreenLayer if avail - ..
* MacOsX/JAWT_SurfaceLayers/CALayers: Kick off / JAWT_getAWT() CALAYER version ↵Sven Gothel2011-10-293-18/+88
| | | | support.
* OSX: Avoid invoking JNI or performSelectorOnMainThread in JNI if already ↵Sven Gothel2011-10-131-1/+5
| | | | mainThread
* OSX/SWT: Adding OSXUtil: RunOnMainThread(), IsMainThread() / Utilizing those ↵Sven Gothel2011-10-132-21/+54
| | | | | | | | | | | | | | for SWT access/calls Adding OSXUtil: RunOnMainThread(), IsMainThread() - Issuing a native call where the user Runnable is to be performed on the main thread - Enable query if we are on the main thread. Utilizing those for SWT access/calls - Using the above to call all SWT functions on the main thread if required (incomplete) TODO/Issues: - JOGL OSX CGL Context fails, ie expecting NS, but having CGL
* NEWT/OSX: Fix erroneous child Window position and top-parent visibilitySven Gothel2011-10-111-1/+1
| | | | | | | | | | | | | | | | | - Regardless whether the window is a top-level or child window, we set it's position w/ absolut left-bottom coordinated. To do so even for an AWT parent component, we retrieve the screen position by traversing through the AWT tree and adding up each parent's rel. position, since the native view only reflects the AWT frame. Note: OSX does not use native views for each AWT component. - In case we reparent child -> top, we cannot orderOut() the ex parent, but need to just call orderBack(..), otherwise the whole ex-parent frame gets hidden. - In case we close a child window (and reparent child -> top), we need to remove the parent/child relation and orderOut(..) before close(..), otherwise the window artifact is left behind.
* Adapt to GlueGen's Lock ChangeSet: e4baba27507ce78e64a150ec6f69fb96f5721a34 ↵Sven Gothel2011-09-271-3/+4
| | | | ; Use generics
* NativeWindow/OSX: Add nativewindow_macosx lib and nativewindow.os.macosx.jar ↵Sven Gothel2011-09-252-2/+50
| | | | for 'GetLocationOnScreen()'
* Use new JNILIbLoaderBase addNativeJarLibs(all, atomic) for JOGL, ↵Sven Gothel2011-09-241-1/+7
| | | | NativeWindow and NEWT; no more LD_LIB_.. in setenv.sh for test scripts
* Use Platform's initSingleton() instead of JVMUtil's (private package) ; Use ↵Sven Gothel2011-09-231-1/+1
| | | | TempJarCache if used.
* Proper usage of loadLibrarySven Gothel2011-09-211-2/+2
|
* X11Util: Catch X11 Error on XCloseDisplaySven Gothel2011-09-091-3/+16
|
* X11Util/Display Lifecycle: Reuse pending (unclosable) Display connectionsSven Gothel2011-09-061-46/+83
| | | | | | | See commit 9ed513e9a9616f6028084df4c650c8caf31ea49d (bug 502) Since we cannot close Display connections (X11/AMD), at least we reuse them to not bloat the memory for long term applications
* NativeWindow/NEWT: Refine Insets definition for size and position, read and ↵Sven Gothel2011-09-041-1/+6
| | | | write access
* X11Util.createDisplay() -> X11Util.openDisplay(): Better name match to ↵Sven Gothel2011-08-311-1/+1
| | | | XOpenDisplay/XCloseDisplay
* Workaround for X11/ATI fglrx bug 515 - Multiple Display ConnectionsSven Gothel2011-08-311-1/+27
| | | | https://jogamp.org/bugzilla/show_bug.cgi?id=515
* JAWTWindow.getLocationOnScreen(): Add proper JAWT lockSurface() ; X11Util: ↵Sven Gothel2011-08-302-28/+33
| | | | | | | | | use System.err ; TestParenting02AWT: use GearsES2 JAWTWindow.getLocationOnScreen() - Add proper JAWT lockSurface() - Turns out that the parent location query of a NEWT child to an [J]AWT window didn't lock the window
* Workaround (Fix) for Bug 502: Multithreading issue w/ libX11 1.4.2 and ↵Sven Gothel2011-08-301-14/+4
| | | | | | | | | | | | | | | | | | | | | libxcb 1.7 bug 20708 See https://jogamp.org/bugzilla/show_bug.cgi?id=502 Since the libX11/xcb code doesn't seem to be fixed anytime soon a better usable workaround is required than using a system property to enable 'over locking'. It turns out that the race condition is related to the parallel X11 Display connection usage of GLX/OpenGL and event dispatching. This workaround utilizes 2 X11 Display handles, one for windowing/OpenGL and one for event dispatching. This approach allows us to cont. multithreading use w/o locking the display and works on both implementations, the old bug-free libX11 and the 'new' buggy one. Downside is the little resource overhead of the 2nd X11 Display connection .. well. - Removes the property: 'nativewindow.x11.mt-bug'
* adapt to gluegen Platform changeSven Gothel2011-07-281-1/+1
|
* Use GlueGen Platform's OSType enumSven Gothel2011-07-211-5/+6
|
* Woraround for bug 502: X11/NEWT Stalling due to libX11/XCB Multithreading ↵Sven Gothel2011-06-261-11/+25
| | | | | | | | | bug (libX11 1.4.2, libXCB 1.7; ubuntu 11.04, ..) - https://jogamp.org/bugzilla/show_bug.cgi?id=502 - set the boolean property 'nativewindow.x11.mt-bug' to 'true', indicating the erroneous libX11/libXCB behavior. This will enable extensive X11 locking even in NEWT.
* X11/Newt Locking: Clarify dependency of XInitThreads() hackSven Gothel2011-06-121-3/+6
|
* Minor editing/cleanups: code/testSven Gothel2011-06-121-4/+2
| | | | | - Don't call "NativeWindowFactory.initSingleton(true);" after "GLProfile.initSingleton(true);", since it's redundant, the former call issues the removed one.
* JAWTUtil: Just use 'sunToolkitClass' in local blockSven Gothel2011-03-271-6/+3
|
* Fix NPE caused by refactoring on 2/26/2011.Wade Walker2011-03-261-2/+2
| | | | | | The refactoring refers to the static sunToolkitClass when it's not initialized, which causes an NPE and makes the system think it can't do AWT locks.
* SWTAccessor: Attempt to receive the OSX cocoa NSView handle/idSven Gothel2011-03-011-7/+35
|
* SWTAccessor: Fix type casting int/long - better long usage determinationSven Gothel2011-02-281-38/+48
|
* SWTAccessor: Add new SWT reflections for native window handle and ↵Sven Gothel2011-02-281-0/+90
| | | | | | display/device. Currently implemented platforms: X11(gdk/gtk) and Windows, both 32bit and 64bit.
* X11Util DisplayName: Respect DEFAULT_CONNECTION stringSven Gothel2011-02-281-2/+2
|
* Attempt to analyze failed AWT UI tests, where no paint is being issued to ↵Sven Gothel2011-02-261-1/+2
| | | | GLCanvas.
* Code cleanup: override, imports, StringBuilder, ..Sven Gothel2011-02-267-16/+13
|
* Clean/Fix: Threading CodeSven Gothel2011-02-262-18/+36
| | | | | | - Remove unsafe double checked locking - Annotate safe double checked locking (volatile) - use 'static final' if possible
* NativeWindow NativeSurface lock/unlock Surface cleanup ; NEWT WindowImpl ↵Sven Gothel2011-02-221-10/+10
| | | | | | | | | lock/unlock Surface fix - Rename lock to surfaceLock to determine it's use - NEWT's WindowImpl windowLock usage is not sufficient for lock/unlock surface. Using distinguished surfaceLock for proper recursion count on lock/unlock surface.
* NativeWindow/SWT: Rename SWTMisc -> SWTAccessor; Add to nativewindow.core.jarSven Gothel2011-02-221-1/+1
|
* NativeWindow/SWT: Add SWTMisc utility allowing platform independent accessSven Gothel2011-02-221-0/+112
|
* NativeWindow ProxySurface Abstraction and lock/unlock Surface cleanupSven Gothel2011-02-224-184/+173
| | | | | | | | | | | | | - ProxySurface -> abstract javax.media.nativewindow.ProxySurface, implemented by jogamp.nativewindow.WrappedSurface, just wrapping surface handle jogamp.nativewindow.windows.GDISurface, using HWND and get/release HDC on lock/unlock - Unifying NativeSurface's lockSurface/unlockSurface implementations - NEWT's WindowImpl - NativeWindow's ProxySurface, WrappedWindow, GDIWindow and JAWTWindow - wingdi/GDI: Add 'WindowFromDC' and 'GetClientRect' to GDI
* Fix: Java 1.5 warningsSven Gothel2011-02-093-9/+9
|
* Move implementation private files from com.jogamp.<module>.impl. to ↵Sven Gothel2011-02-0923-52/+52
| | | | | | | | | | | | | | | jogamp.<module> (2/2) - edit files - com.jogamp.opengl.impl -> jogamp.opengl - com.jogamp.opengl.util.glsl.fixedfunc.impl -> jogamp.opengl.util.glsl.fixedfunc - com.jogamp.nativewindow.impl -> jogamp.nativewindow - com.jogamp.newt.impl -> jogamp.newt This sorts implementation details from the top level, ie skipping the public 'com', allowing a better seperation of public classes and implementation details and also reduces strings. This approach of public/private seperation is also used in the OpenJDK.
* Move implementation private files from com.jogamp.<module>.impl. to ↵Sven Gothel2011-02-0823-0/+3032
jogamp.<module> (1/2) - rename task - com.jogamp.opengl.impl -> jogamp.opengl - com.jogamp.opengl.util.glsl.fixedfunc.impl -> jogamp.opengl.util.glsl.fixedfunc - com.jogamp.nativewindow.impl -> jogamp.nativewindow - com.jogamp.newt.impl -> jogamp.newt This sorts implementation details from the top level, ie skipping the public 'com', allowing a better seperation of public classes and implementation details and also reduces strings. This approach of public/private seperation is also used in the OpenJDK.