summaryrefslogtreecommitdiffstats
path: root/src/newt
Commit message (Collapse)AuthorAgeFilesLines
* Add JOGL/NEWT Applet Runner; Add JOGL Applet Tests; Rename applet test versionSven Gothel2011-09-152-0/+402
|
* NEWT X11/Windows: Fix AlwaysOnTop (startup and change)Sven Gothel2011-09-154-47/+56
|
* NEWT/WindowImpl: Allow fullscreen at window creationSven Gothel2011-09-151-2/+20
|
* NEWT setAlwaysOnTop(): X11 impl. / fix setFullscreen(false), child-win bugSven Gothel2011-09-141-29/+35
|
* NEWT setAlwaysOnTop(): Allow windows to stay permanent on top; TODO: X11/WindowsSven Gothel2011-09-144-26/+98
|
* Relocated VersionAppletSven Gothel2011-09-141-178/+0
|
* NEWT/Window: CreateWindow - Wait for user req. position: Fix about ↵Sven Gothel2011-09-093-10/+26
| | | | window-decoration/insets size
* NEWT: Window default pos ; FullScreenSven Gothel2011-09-095-162/+384
| | | | | | | | | | | | | | | - FullScreen - lock parent window if child - X11: more sophisticated EWMH FS usage - X11: set window 'Above' before FS and at focus - allow window WM default position at window creation - default position { -1, -1 } as hint to native WM to gather a suitable default position - wait until user-pos or WM-pos reached - reconfigureWindow* - allow -1 values for pos/size to mark no-change
* NEWT/ScreenMode: X11 fixes ; Ensure Screen's size is set if screenMode ↵Sven Gothel2011-09-084-174/+214
| | | | | | | | | | | | | | | | | | changed ; Enhanced tests; Catch NV/XRANDR/GL bug X11 fixes - X11Screen properly uses it's display's connection decorated in lock/unlock (for ScreenMode etc) Ensure Screen's size is set if screenMode changed - ScreenImpl's ScreenModeListener updates it's screen size so 'external' changes will be detected. Enhanced tests - Verify more data rel. ScreenMode Catch NV/XRANDR/GL bug - Read TestScreenMode01NEWT/TestScreenMode01bNEWT comments
* Destruction of GLAutoDrawable shall not remove them from AnimatorControl ↵Sven Gothel2011-09-086-127/+72
| | | | | | | | | | | | | | | | | | | (due to recreation) ; NEWT/Window: Remove isValid() API entry - always true! Destruction of GLAutoDrawable shall not remove them from AnimatorControl (due to recreation) - Completes commit b65e1e76d413b70e5593173e6bd36d30675554a6 - WindowImpl: - volatile: windowHandle/visible fields (memeory sync critical) - destroy must set visible := false, to avoid immediate recreation via a display call of another thread, ie an animator. NEWT/Window: Remove isValid() API entry - always true! - NEWT/Window's can always be recreated. - redundancy in API is even worse than redundancy in impl. :)
* Revert 98f9eef8279680a7fbd3fccb5840381faf1d5c01: removeNotify makes NEWT ↵Sven Gothel2011-09-071-0/+1
| | | | child invisible again
* Fix commit e1ecd85a9d5877861cde35baababb298d1339898 - send resize eventSven Gothel2011-09-071-4/+17
| | | | | | | Completes fix 2934c9814daf7ae053c3f03957961a2e62125aee Turns out it's more safe to send out the resize events to the listener, since the native event messaging is not reliable in some cases.
* Fix commit e1ecd85a9d5877861cde35baababb298d1339898 - send resize event on ↵Sven Gothel2011-09-071-0/+1
| | | | ScreenMode Change
* ScreenImpl: Debug - drop stack dumpSven Gothel2011-09-071-1/+0
|
* 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-073-82/+138
| | | | | | | | | | | | - 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/WindowsWindow: call sizeChanged() if invisible as wellSven Gothel2011-09-061-5/+2
| | | | no reason to supress this information, it's sent only once (like X11)
* NEWT/X11Window: Remove unused 'windowReparented()' callback; Remove ↵Sven Gothel2011-09-062-21/+4
| | | | 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
|
* _NET_FRAME_EXTENTS: Remove annoying Warning message. 1 Compiler warningSven Gothel2011-09-061-4/+4
|
* NEWT/Window/Insets: Implement proper Inset usage ; Cleanup ↵Sven Gothel2011-09-0613-416/+498
| | | | | | | | | | | | | | | | | | | | | | | | | 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-0413-136/+172
| | | | 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-022-16/+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-012-11/+11
| | | | | | | | | | | | | | | 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-014-99/+90
| | | | | | | | | | 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-312-26/+55
| | | | | | | | | | | | | | 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-302-8/+17
| | | | | | | | | | | | 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-303-30/+65
| | | | | | | | | | | | | | | | | | | | | 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
* Android Cleanup: Remove EGL header & library (compile time)Sven Gothel2011-08-111-1/+0
|