aboutsummaryrefslogtreecommitdiffstats
path: root/src/newt/classes
Commit message (Collapse)AuthorAgeFilesLines
* NewtCanvasAWT: setNEWTChild() shall not be public - removeNotify shall not ↵Sven Gothel2011-09-071-4/+3
| | | | make NEWT child invisible (?)
* GLWindows Lifecycle Destroy: Don't remove itself from animator-ctrl - ↵Sven Gothel2011-09-071-7/+1
| | | | recreation is possible
* NEWT/Window: Cleanup Actions: Reparenting, Fullscreen and DecorationSven Gothel2011-09-071-61/+80
| | | | | | | | | | | | - don't assume size/pos change - hence don't set window's values, but wait for satisfaction - don't send resize events on our own, just rely on the event mechanism - fullscreen: don't wrap action around invisibility from Java, Win7 flashes otherwise. Clients who benefit from it (X11) impl. it natively. - fullscreen exit: validate pos/size in case of a child window, like reparenting. Otherwise the container might gets confused (eg. AWT).
* NEWT/ScreenMode: setCurrentScreenMode() shall only act if new mode differs; ↵Sven Gothel2011-09-062-9/+23
| | | | | | | | | On X11 use Thread.sleep(), more cooperative. In case newMode == currentMode, this caused an error, since X11 would never receive mode change events. Thread.sleep() is nicer for the X11/WM .. cooperative multitasking :)
* NEWT/X11Window: Remove unused 'windowReparented()' callback; Remove ↵Sven Gothel2011-09-061-12/+0
| | | | redundant DBG_PRINT on _NET_FRAME_EXTENTS
* NEWT Cleanup: Remove DEBUG_WINDOW_EVENT, ..Sven Gothel2011-09-065-10/+13
|
* NEWT: Sync User-LifecycleSven Gothel2011-09-062-10/+15
| | | | | | Sync User-Lifecycle: Display, Screen: createNative(), destroy(), isNativeValid() sync on instance (used by multiple threads)
* NEWT/X11Screen::setCurrentScreenMode: Use device's 'user' Display connection ↵Sven Gothel2011-09-061-6/+7
| | | | instead of on-the-fly temp one
* NEWT/ScreenMode: Remove Cloneable on Immutable .. makes no senseSven Gothel2011-09-061-9/+1
|
* NEWT/Window/Insets: Implement proper Inset usage ; Cleanup ↵Sven Gothel2011-09-0610-250/+278
| | | | | | | | | | | | | | | | | | | | | | | | | WindowImpl::reconfigureWindowImpl Implement proper Inset usage (window decoration size) - Insets are either polled (updateInsets()) or event driven (insetsChanged()) - Insets are used for size/pos calculations from Java side - Natural size/pos in NEWT is client-area, ie w/o Insets - Adding setTopLevelPosition()/setTopLevelSize() for top-level values, ie including insets WindowImpl::reconfigureWindowImpl - Use flags to pass down the requested action to the native implementation - Impl. all native actions: visible, decoration, reparent, resize, fullscreen - Always use size/pos in client-area space, impl. shall use Insets to tranform them - Remove double-setting of (reparent/fullscreen), which where introduced due to buggy impl. code - Fix return from fullscreen position: Was overwritten with FS position (0/0) - Fix decoration change: Remove visible toggle - not required, and actually disturbing X11Windows/WindowsWindow: Added/Fixed Insets impl. Tests (manual): - TestSharedContextVBOES2NEWT utilizies proper window layout using Insets - TestParenting03bAWT uses window layout for reparenting
* NativeWindow/NEWT: Cont. refinement of Insets usageSven Gothel2011-09-061-3/+11
| | | | Completes commit d4670328991c02a6f11f8873ea7a2331f17d0ef0
* NativeWindow/NEWT: Refine Insets definition for size and position, read and ↵Sven Gothel2011-09-0412-135/+171
| | | | write access
* Unify Immutable/WriteCloneable Usage ; Remove Clonable for ImmutableOnly typesSven Gothel2011-09-041-9/+1
|
* Revert commit 8dc31bcaa3ee3a2407d1960ab42d094cac642876: Implicit ↵Sven Gothel2011-09-031-2/+1
| | | | setUndecorated(true) if Capabilities !isBackgroundOpaque(). The original manual logic allows better control
* NEWT Window: Implicit setUndecorated(true) if Capabilities !isBackgroundOpaque()Sven Gothel2011-09-031-1/+2
|
* NEWT: Respect 'setUndecorated(true)' before native creation (ie. startup w/ ↵Sven Gothel2011-09-023-5/+11
| | | | undecorated window)
* Fix NEWT/Window/Windows: setSize/setPosition/reconfigure: 'nop size' -1x-1 ↵Sven Gothel2011-09-021-13/+9
| | | | | | | -> 0x0 Windows: setPosition was invoking setSize (new size propagation) even w/ nop size, let WM event wmSize invoke setSize.
* NEWT/X11/Fullscreen: Fix Leaving FullScreenSven Gothel2011-09-011-5/+5
| | | | | | | | | | | | | | | NativeCode: "XChangeProperty( dpy, w, _NET_WM_STATE, XA_ATOM, 32, PropModeReplace, [ FULLSCREEN, ABOVE ] .." shall only be issued if entering FS, otherwise [ FULLSCREEN, ABOVE ] will be set on the client side at leaving FS, which is not intended. This caused a size reset to fullscreen size/mode. WindowImpl: Used WindowImpl.this.width and WindowImpl.this.height, where w and h should be used, the FS and pre-FS values.
* NEWT/X11 Bug 502 regressions: WM_DELETE_ATOM, .. etc couldn't be catched, etc.Sven Gothel2011-09-013-29/+36
| | | | | | | | | | Use EDT X11 Display connection (DPY) for whole display/screen/window lifecycle, but the user utilization (OpenGL, ..). Only using the same DPY for creation and event dispatching allows catching WM_DELETE_ATOM 'ClientMessage's. Sync X11Window.c w/ commit 4dbb8731219212e27c9afb769a1c62b32bd230a6 - remove 'test' code .. use orig lines
* X11Util.createDisplay() -> X11Util.openDisplay(): Better name match to ↵Sven Gothel2011-08-312-3/+3
| | | | XOpenDisplay/XCloseDisplay
* NEWT/X11 Display: CloseDisplay in same order as creation (ATI); Adding ↵Sven Gothel2011-08-311-4/+10
| | | | | | | | | | | | | | DisplayRelease0; Using 'EDT' suffix for display arguments CloseDisplay in same order as creation (ATI) - This enhanced the erroneous bug 515 (b54497155815852744adb657816cb4057948dae2) situation with closing the display connections. However, some SIGSEGV still slipped through. Adding DisplayRelease0 - Intended for cleaning up resources. Currently a NOP. Using 'EDT' suffix for display arguments - To mark the semantics of the display connection, which may be for window or EDT now.
* Fix NEWT regression due to fix of bug 502, commit ↵Sven Gothel2011-08-301-2/+3
| | | | | | | | | | | | 9ed513e9a9616f6028084df4c650c8caf31ea49d In case of exessive destroy/create (the NEWT reparenting test cases), some dpyEDT events are slipping through the event dispatcher. This fix uses issues more XSync on both Display connection in case of 'requestFocus' and 'closeWindow'. 'requestFocus' also uses the dpyEDT to issue the XSetInputFocus(..), since it's EDT related.
* Complete commit cb4e73183103c13d8bcf7c7667e1b9ea181e1f5f (sorry)Sven Gothel2011-08-301-4/+4
|
* NEWT Window/WindowImpl: Add generics - addChild()/removeChild() return ↵Sven Gothel2011-08-302-44/+54
| | | | boolean, see Collection::add/remove
* Tests: Comment GLProfile.initSingleton(false), which is redundant / implicit.Sven Gothel2011-08-301-1/+1
|
* NEWT: Add comment in API doc ; Use more generics in impl.Sven Gothel2011-08-302-7/+9
|
* Workaround (Fix) for Bug 502: Multithreading issue w/ libX11 1.4.2 and ↵Sven Gothel2011-08-302-13/+40
| | | | | | | | | | | | | | | | | | | | | 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'
* NEWT/ScreenMode: Fix Bug 456 - Reset to orig ScreenMode when exit (normal or ↵Sven Gothel2011-08-242-34/+83
| | | | ctrl-c) ; Generics Coding
* Cleanup: Java Generics Use and Removed Unused MethodsSven Gothel2011-08-246-77/+56
|
* NewtVersionActivity: Remove 'gears' test; Version Info: Drop ↵Sven Gothel2011-08-223-20/+18
| | | | NativeWindow/Newt Version since we use *all* targets
* Misc Rename/Reloc; GLArrayData*/PMVMatrix enhancments; Test fixes/adds ↵Sven Gothel2011-08-225-440/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (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
* NEWT/Android: Assisting NEWTBaseActivity to simplify NEWT/Android usage.Sven Gothel2011-08-112-44/+106
|
* NEWT/Android Fix: Display/Screen/Window creation ; ScreenMode ChangeSven Gothel2011-08-117-105/+124
| | | | | | | | | | | | | | | | | | | - Remove Application Context notion in Screen/Display, use 'jogamp.common.os.android.StaticContext' - Display, Screen and Window construction is Android agnostic allowing simple GLWindow creation. - Android ScreenMode Fix: - Use unrotated screen dimension - Intercept 'orientation' configChange, which keeps running the application in case of a rotation. - ScreenMode Add: getRotatedWidth() / getRotatedHeight(), used for Screen.setScreenSize(..) which reflects the rotates dimension. - ScreenMode: getCurrentMode() allows new, not yet detected, ScreenModes
* Add touch event propagation to NEWTSven Gothel2011-08-091-13/+9
|
* Add AndroidWindow implementationSven Gothel2011-08-091-71/+183
|
* Merge remote-tracking branch 'rsantina/master'Sven Gothel2011-08-092-35/+40
|\
| * Merge branch 'master' of http://github.com/sgothel/joglRami Santina2011-08-0536-44/+588
| |\
| * | Fix: event mapping mismatchRami Santina2011-08-052-6/+3
| | |
| * | add multitouch getPointerId dataRami Santina2011-08-042-35/+43
| | |
* | | Android: Demo NewtVersionActivitySven Gothel2011-08-092-6/+471
| | |
* | | NEWT: Make AndroidNewtEventFactory public / accessibleSven Gothel2011-08-091-6/+6
| | |
* | | NEWT Android Display/Screen driver implementationSven Gothel2011-08-092-24/+117
| | |
* | | Complete Android driver reloc (constructor)Sven Gothel2011-08-093-11/+21
| | |
* | | reloc files: NEWT Android driver, demos OneTriangleSven Gothel2011-08-094-84/+0
| | |
* | | incr. debug output (tests)Sven Gothel2011-08-071-0/+1
| | |
* | | Android: cosmeticsSven Gothel2011-08-061-12/+0
| | |
* | | Android hacks: ClassLoaderUtil (vie Dex.., w/ native libs) ; Merged big jar ↵Sven Gothel2011-08-054-69/+85
| |/ |/| | | | | ; eglGetDevice(0) fails
* | Complete Android cleanup (compile/apk launch)Sven Gothel2011-08-057-0/+538
| |
* | deployment resturcturing: combine nativewindow/jogl/newt ; newt: 'driver' ↵Sven Gothel2011-08-0529-44/+50
|/ | | | | | | | | | | | | | | | | | | | | 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
* Renamed jogamp.newt.opengl -> jogamp.newt.egl, properly reflecting EGL ↵Sven Gothel2011-08-0310-10/+10
| | | | | | dependency, not OpenGL The native impl packages utilize EGL, not opengl, to query the proper pixelformat.