summaryrefslogtreecommitdiffstats
path: root/src/nativewindow
Commit message (Collapse)AuthorAgeFilesLines
* Complete translucency support (core w/ X11 (only) - tested w/ NEWT)Sven Gothel2011-09-031-4/+4
| | | | | | | | | | | | | | | | | DefaultGLCapabilitiesChooser: - Add penalty for opaque mismatch: dbl-buf > opaq > stencil GLGraphicsConfigurationFactory: - Case no-chooser && has-recommended-idx: - Only use recommended index if caps is opaque, otherwise use default chooser to validate translucency NativeWindow Capabilities: - transparent default values -> 0 Added NEWT Test: TestTranslucencyNEWT Added command line translucency/undecorated options for TestGearsES2NEWT
* revert: a7340fd941b26d633c438cb5adb22f2c30a5cff0Sven Gothel2011-08-311-5/+4
| | | | NativeWindow X11 Error Handler: If quiet do not print message on stderr.
* X11Util.createDisplay() -> X11Util.openDisplay(): Better name match to ↵Sven Gothel2011-08-311-1/+1
| | | | XOpenDisplay/XCloseDisplay
* NativeWindow X11 Error Handler: Even if quiet, print message on stderr.Sven Gothel2011-08-311-3/+5
|
* 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'
* Misc Rename/Reloc; GLArrayData*/PMVMatrix enhancments; Test fixes/adds ↵Sven Gothel2011-08-227-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (GearsES1/ES2) rename/reloc: - javax.media.nativewindow.util: DimensionReadOnly -> DimensionImmutable PointReadOnly -> PointImmutable RectangleReadOnly -> RectangleImmutable unified 'immutable' name as used within jogamp already - remove array handler from public API com.jogamp.opengl.util.GL*ArrayHandler -> jogamp.opengl.util.GL*ArrayHandler - GLArrayData: Clarify method names getComponentNumber() -> getComponentCount() getComponentSize() -> getComponentSizeInBytes() getElementNumber() -> getElementCount() getByteSize() -> getSizeInBytes() - FixedFuncPipeline: Moved def. array names to GLPointerFuncUtil enhancement: - GLArrayDataServer: Add support for interleaved arrays/VBO - GLArrayData*.createFixed(..) remove 'name' argument (non sense for fixed function) - PMVMatrix: - one nio buffer - removed 'Pmv' multiplied matrix - removed 2x2 cut down 'Mvi' normal matrix (use 4x4 Mvi) - tests: - RedSquare -> RedSquareES1/RedSquareES2 - Gears ES1 fixed + ES2 added. Both work properly and share common Gears VBO construction - Added TestMapBuffer01NEWT, testing glMapBuffer
* deployment resturcturing: combine nativewindow/jogl/newt ; newt: 'driver' ↵Sven Gothel2011-08-051-1/+4
| | | | | | | | | | | | | | | | | | | | | separation ; android cleanup remaining all-in-one jnlp's / jars: jogl-all-awt.jnlp -> jogl.all.jar jogl-all-noawt.jnlp -> jogl.all-noawt.jar jogl-all-mobile.jnlp -> jogl.all-mobile.jar native for all above: jogl-all-natives-linux-amd64.jar jogl.all-android.apk jogl.all-android.jar more may follow for each supported platfrom ++++ - newt: proper 'driver' separation - all drivers reside now in jogamp.newt.driver.* - remove intptr.cfg / use gluegen's
* AWT/X11 Reduce XQueryExtension 'hang' ; Impl. use XineramaIsActive() instead ↵Sven Gothel2011-08-011-8/+9
| | | | | | | | | | of XineramaQueryScreens() - Reenable creating own XDisplay for AWT components, which reduces/removes hang in subsequent XQueryExtension call (fetchScreens .. XineramaEnabled()) - Impl. use XineramaIsActive() instead of XineramaQueryScreens() Reducing memory allocation, XFree call (which was missing anyways)
* Revert commit 96cbe03a943f3189531a7ec9baf680bdf1417929: Capabilities: ↵Sven Gothel2011-08-011-3/+3
| | | | default rgb 555 -> 888 ; Turns out such a default value change would cause too many regressions
* NativeWindow Capabilities: rgb -> 555, allows using low profile devicesSven Gothel2011-07-311-3/+3
| | | | | All GLCaps chooser will pick the highest available pixelformat, so if 32bpp is available rgba8888 will be used anyways.
* adapt to gluegen Platform changeSven Gothel2011-07-281-1/+1
|
* Use GlueGen Platform's OSType enumSven Gothel2011-07-212-31/+27
|
* Woraround for bug 502: X11/NEWT Stalling due to libX11/XCB Multithreading ↵Sven Gothel2011-06-262-42/+43
| | | | | | | | | 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 Nativewindow/NEWT: X11 Error Handler (JNIEnv query for thread, stack ↵Sven Gothel2011-06-261-12/+57
| | | | | | | | | trace), cleanup - X11 Error Handler: if throwing JVM stack trace or fatal JVM error query proper JNIEnv for running thread and attach thread to JVM if necessary. - NEWT/X11: Proper XEvent polling documentation, cleanup window creation event mask
* 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.
* Utilize GlueGen's platform independent header for stdin.h, gluegen_stdint.h, ↵Sven Gothel2011-06-112-18/+2
| | | | | | | .. (remove local copy) - Use them for gluegen code generation - Use them for native compilation (cc)
* NativeWindow/X11: Simple cleanup/generalization ..Sven Gothel2011-04-261-5/+16
|
* simple cleanup/warningsSven Gothel2011-04-221-2/+2
|
* Fix TAB: Replace all TAB with 4 spacesSven Gothel2011-04-082-2/+2
|
* 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.
* Add @OverrideSven Gothel2011-03-191-0/+3
|
* 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-264-21/+40
| | | | | | - Remove unsafe double checked locking - Annotate safe double checked locking (volatile) - use 'static final' if possible
* changes due to code cleanup in gluegen.Michael Bien2011-02-266-14/+19
| | | | | | - StringBuffer -> StringBuilder - ReflectionUtil.getBaseName -> class.getSimpleName() - cleanup imports, generics and @Override for all touched classes
* NativeWindow NativeSurface lock/unlock Surface cleanup ; NEWT WindowImpl ↵Sven Gothel2011-02-222-30/+25
| | | | | | | | | 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-225-184/+328
| | | | | | | | | | | | | - 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
* Spec Doc update/fixSven Gothel2011-02-101-1/+2
|
* Fix: Java 1.5 warningsSven Gothel2011-02-094-10/+10
|
* Spec: Bump Java version to 1.5Sven Gothel2011-02-091-22/+26
|
* Move implementation private files from com.jogamp.<module>.impl. to ↵Sven Gothel2011-02-0935-121/+121
| | | | | | | | | | | | | | | 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/+0
| | | | | | | | | | | | | | | 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.
* GLCapabilities enhancements: Choosing, All-Available, Data Handling (X11, ↵Sven Gothel2011-01-316-31/+90
| | | | | | | | | | | | | | | | | | | | | | | | | | WGL and EGL) - GLDrawableFactory exposes: public final List/*GLCapabilitiesImmutable*/ getAvailableCapabilities(AbstractGraphicsDevice device) - GLCapabilities platform specialization containing native ids (XVisual/FBConfig, PFD, EGLConfig, ..) - GLCapabilities setPbuffer(true) disables onscreen - Capabilities setOnscreen(true) disables pbuffer - Capabilities implements Comparable - *Capabilities: enhanced 'toString(..)' - CapabilitiesChooser.chooseCapabilities: 'CapabilitiesImmutable[] available' -> 'List /*<CapabilitiesImmutable>*/ available' - VersionApplet, GLCanvas.main, GLWindow.main, GLProfile/debug: dumps all available GLCaps - WGLGLCapabilities: proper non-displayeble (pbuffer) pfdid handling TODO: ES/EGL test with emulation
* Fix: GLX exception message / sorted importsSven Gothel2011-01-311-1/+2
|
* Cleanup / DebugSven Gothel2010-12-232-2/+13
|
* JOGL/NEWT: Introduce WindowClosingProtocol (solves Bug/Request 444)Sven Gothel2010-12-194-1/+301
| | | | | | | | | | | | | | | | | Similar to JFrame's closing behavior, the following components window closing follow the new WindowClosingProtocol: - GLCanvas - GLJPanel - NEWT Window, GLWindow - NEWT NewtCanvasAWT The implementation obeys either 1) the user value set by this interface, 2) an underlying toolkit set user value (JFrame, ..) 3) or it's default, eg. {@link #DO_NOTHING_ON_CLOSE DO_NOTHING_ON_CLOSE} within an AWT environment. If none of the above determines the operation, this protocol default behavior {@link #DISPOSE_ON_CLOSE DISPOSE_ON_CLOSE} shall be used.
* Debug/Cleanup: toString: print base classname only; Misc ..Sven Gothel2010-12-197-7/+14
|
* NativeWindow Debug: Early stack trace info w/ thread nameSven Gothel2010-12-181-3/+7
|
* Fix WGL Bitmap Offscreen DrawableSven Gothel2010-12-161-1/+9
| | | | | | | | | | | In conjunction with the gluegen investigation (gluegen: fbdedff789077b5ffa07811590f771b6f9a4f3a7), on Windows the type LONG is always 32bit, hence we have to declare: typedef __int32 LONG; Besides, WGL_DRAW_TO_PBUFFER_ARB and WGL_DRAW_TO_BITMAP_ARB were missing in the WGL/ARB attribute query, and the latter was not set in caps -> attributes. Added fail safe exception for null chosen caps, if X11/WGL algo fails to determine.
* JAWTUtil: Fix case when init is run on AWT EDT (which is odd, ie not using ↵Sven Gothel2010-12-151-11/+16
| | | | GLProfile.initSingleton(..)