aboutsummaryrefslogtreecommitdiffstats
path: root/src/newt
Commit message (Collapse)AuthorAgeFilesLines
* Isolate android implementation details to ↵Sven Gothel2011-08-021-1/+1
| | | | newt/classes/jogamp/newt/opengl/android
* Added accessibility events mapping to newtRami Santina2011-08-021-3/+13
| | | | | mapped gained focus event. used 0xFFFFFFFF for unmapped events
* android map motion pressure to newtRami Santina2011-08-022-14/+23
|
* Initial android newt input event transformationRami Santina2011-08-023-34/+161
|
* merge with sgothel multitouchRami Santina2011-08-021-3/+54
|\
| * Proposal for multi touchSven Gothel2011-08-022-13/+101
| |
* | Multitouch proposal MouseEventRami Santina2011-08-021-61/+99
|/
* AWTNewtEvent Mapping: Unmapped value -1 -> 0xffffffffSven Gothel2011-08-011-6/+6
|
* Refine some DEBUG code (verbosity)Sven Gothel2011-08-011-3/+7
|
* GLWindow::main(): show requested/chosen GLCapsSven Gothel2011-07-311-4/+6
|
* NEWT ScreenModes: Add current ScreenMode if none could be collected.Sven Gothel2011-07-311-1/+12
| | | | | | On Linux/ARMv7 (Ubuntu 11.04) it appears that the native RnR methods could not collect ScreenModes. In such case, at least we add the current mode as a fallback. This allows using the current mode information.
* Woraround for bug 502: X11/NEWT Stalling due to libX11/XCB Multithreading ↵Sven Gothel2011-06-261-1/+1
| | | | | | | | | 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-23/+38
| | | | | | | | | 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
* Minor editing (compile script, X11Window.c - cleanups)Sven Gothel2011-06-121-3/+3
|
* X11/Newt Locking: Clarify dependency of XInitThreads() hackSven Gothel2011-06-121-3/+8
|
* Utilize GlueGen's platform independent header for stdin.h, gluegen_stdint.h, ↵Sven Gothel2011-06-115-50/+8
| | | | | | | .. (remove local copy) - Use them for gluegen code generation - Use them for native compilation (cc)
* Newt Window: Missing change of f47230cb4649df13260ac56c5dae6c01dad7c1e7 ↵Sven Gothel2011-04-261-6/+0
| | | | (remove invalidate())
* Newt Window: Remove 'invalidate()' method, only 'destroy()' is required (and ↵Sven Gothel2011-04-264-176/+72
| | | | | | | makes sense) - WindowImpl/GLWindow: Cleanup destroy code .. - Tests: sync / remove FPS stderr print
* NEWT/X11 WindowClosing: End dispatch loop since Display could be destroyed ↵Sven Gothel2011-04-261-3/+15
| | | | after Java callback
* NEWT Event Types: Use final modifier if possibleSven Gothel2011-04-245-8/+8
|
* Misc cleanup, strings etcSven Gothel2011-04-241-2/+2
|
* Add unified support for GL_ARB_debug_output and GL_AMD_debug_output.Sven Gothel2011-04-241-2/+15
| | | | | | | | | | | | | | | | | | | | | | If GL_ARB_debug_output is not available, but GL_AMD_debug_output exist, fallback to the latter, offering generic aliased methods translating the delta (AMD category <-> ARB source/type). Generic aliased methods reside in GLContext* Enable/Disable via GLContext and GLAutoDrawable. To enable the GLDebugOutput feature GLContext.enableGLDebugMessage(true) or GLContext.setContextCreationFlags(GLContext.CTX_OPTION_DEBUG) shall be called _before_ context creation via GLContext.makeCurrent()! In case GLAutoDrawable is being used, GLAutoDrawable.setContextCreationFlags(GLContext.CTX_OPTION_DEBUG) shall be issued before context creation via GLContext.makeCurrent()!. After context creation, the GLDebugOutput feature may be enabled or disabled at any time using this method. Verify both unit tests for usability.
* New FPSCounter, impl. by GLWindow and GLAnimatorControl (fps perf related ↵Sven Gothel2011-04-231-60/+38
| | | | | | | | | | | API change) - Don't fetch System.currentTimeMillis() by default and for every frame (performance) - Default behavior is FPSCounter switched off - Enable by frame interval, ie measure each 60 frames. - FPSCounterImpl is default impl. used by impl. FPSCounter class (reduce code/redundancy) - Might be promoted to GLAutoDrawable ?!
* NEWT GLWindow: Remove context current check for swapBuffer() callSven Gothel2011-04-221-7/+1
| | | | | | | The spec doesn't require a current context for a swap buffer call, however, if required .. as user shall encapsulate it by himself, or use the GLEventListener model. Motivation: Reduce TLS GLContext.getCurrent() calls.
* simple cleanup/warningsSven Gothel2011-04-221-1/+0
|
* Fix TAB: Replace all TAB with 4 spacesSven Gothel2011-04-081-1/+1
|
* Newt X11: keyPress/Release must use upper case XP_ values to match VK_ ; Set ↵Sven Gothel2011-03-301-50/+65
| | | | modifier properly.
* Cleanup (private access for inner classes)Sven Gothel2011-02-282-45/+48
| | | | | | | | | | Partially revert commit 5681c25cfd4c7abce7d653910c9aa7a4e989057e - revert all window feature (visible, fullscreen, ..) runOnEDT calls to wait:=true, it turns out we loose stability and predictable behavior otherwise. - a user must ensure no calling these modifier methods from a locked window state, as documented (and changed) in commit 481285c3d19d0a4c019cffc72b7a8b58296b748e
* NEWT WindowImpl EDT fixesSven Gothel2011-02-281-106/+93
| | | | | | | | | | | - all features intended to run on EDT and lock the surface shall only allowed to wait for result, if the surface is unlocked. Otherwise don't wait - ie a pending operation. - proper sequence of all feature Runnables, ie include pre/post lock actions in Runnable, since it might be a pending task (see above). This shall avoid deadlocks cause by user code where features are called (visible, fullscreen, ..) when invoked within a locked surface code path - ie GLAutoDrawable.invoke(boolean wait, GLRunnable glRunnable).
* NEWT EDT: Fix dbl-chk-locking, runOnEDT fast-path, enqueEvent dispatch ↵Sven Gothel2011-02-281-18/+29
| | | | immed. if on EDT
* NEWT: enqueueEvent(wait, ..) can't wait if on EDT. Solves UI close, etcSven Gothel2011-02-281-0/+3
|
* Code cleanup: override, imports, StringBuilder, ..Sven Gothel2011-02-2616-25/+106
|
* Clean/Fix: Threading CodeSven Gothel2011-02-263-41/+43
| | | | | | - Remove unsafe double checked locking - Annotate safe double checked locking (volatile) - use 'static final' if possible
* Avoid NPE (pairs with 6188d6a385056adade49fcb6d8247f94f96d402e)Sven Gothel2011-02-251-4/+5
|
* Avoid NPE, incr. test poll, ..Sven Gothel2011-02-251-8/+8
|
* NativeWindow NativeSurface lock/unlock Surface cleanup ; NEWT WindowImpl ↵Sven Gothel2011-02-222-19/+32
| | | | | | | | | 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.
* Cleanup NEWT MainThread, using new AWTEDTUtil impl. / Sync AWTCanvas with ↵Sven Gothel2011-02-226-203/+276
| | | | | | | | | | GLCanvas changes Cleanup NEWT MainThread, using new AWTEDTUtil impl. - Allow simple singleton AWTEDTUtil to be used for AWTDisplay and more .. Sync AWTCanvas with GLCanvas changes - Latest GLCanvas changes around addNotify() had to be synced
* NativeWindow ProxySurface Abstraction and lock/unlock Surface cleanupSven Gothel2011-02-222-23/+30
| | | | | | | | | | | | | - 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-091-1/+1
|
* Move implementation private files from com.jogamp.<module>.impl. to ↵Sven Gothel2011-02-0947-245/+245
| | | | | | | | | | | | | | | 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-0832-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-312-19/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | 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-2/+3
|
* NEWT: Add WindowListener.windowDestroyed() ; Remove WindowImpl.windowDestroyed()Sven Gothel2010-12-2314-52/+35
| | | | | | | | | | | | | Add WindowListener.windowDestroyed() To expose a proper window lifecycle, ie destroy-notify and destroyed, this notification is added. This will be used at least in unit tests, where we verify destruction. Remove WindowImpl.windowDestroyed(): This native hook (planned to be called by native destroy notification) is unreliable or not supported for all platforms. NEWT relies on the pre destroy native hooks and handles the final destroy notification itself.
* JOGL/NEWT: Introduce WindowClosingProtocol (solves Bug/Request 444)Sven Gothel2010-12-194-40/+110
| | | | | | | | | | | | | | | | | 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.
* Version Applet as JavaWSSven Gothel2010-12-181-7/+64
|
* Version Applet: set GLCanvas size, otherwise it won't realize GL drawableSven Gothel2010-12-161-0/+1
|
* Add Version AppletSven Gothel2010-12-151-0/+88
|
* NativeWindow: Move RegisteredClass to private impl packageSven Gothel2010-12-122-3/+4
|
* Windows RegisterClass: Use new RegisteredClassFactory (window class), Misc.Sven Gothel2010-12-124-126/+51
| | | | | | | | | | | | | | | | | This solves the issue when an applet is started/stop and started again, or another applet runs in the same JVM. Also soves the issue for multiple JVMs. RegisteredClassFactory can be instanced to manage one shared window class, currently in use for GDI's dummy window and NEWT. A class base name and a window proc handle must be passed in the factory cstr. Before registering, the class is tested if already exists, eg another applet in the same JVM. If registration fails, the class name will iterate until successful or MAX_INT reached, eg if multiple JVMs are running. Added NativeWindow Common Native Code.