aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Bug 1188, Bug 1186: NEWT Window: Support non-resizable, minimize, maximize, ↵Sven Gothel2015-08-1029-1349/+2609
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | alwaysOnBottom and sticky/all-desktop (Part 1) Change also implements Bug 1186: 'NEWT Window: Use a Bitfield holding all state flags and expose it accordingly', since it is essential for an efficient implementation. Part 1: - Bug 1186 - Using Bitfield, holding public (Window) and private state bits/mask - Bug 1188 - Window adds: - [is|set]AlwaysOnBottom(..), - [is|set]Resizable(..), - [is|set]Sticky(..), - [is|set]Maximized(..), - isChildWindow(), - Full implementation for X11 - TODO: Implement for OSX and Windows - Manual tests: - TestGearsES2NEWT, TestGearsES2NEWTSimple and TestGearsES2NewtCanvasAWT utilize new NewtDemoListener, which has a key-listener to perform all [new] actions. See source code of NewtDemoListener.
* Bug 1062: Utilize 'GLProfile.disableOpenGLDesktop' for EGLDrawableFactory ↵Sven Gothel2015-08-052-44/+54
| | | | | | | | | | | desktop mapping as well. Commit 35622a7cef4a28ce7e32bf008ef331d9a0d9e3e2 introduced GLProfile.disableOpenGLDesktop, as enabled by system property 'jogl.disable.opengldesktop'. Desktop OpenGL shall also be disabled within EGLDrawableFactory. Provide verbose DEBUG info for all disabled desktop OpenGL cases.
* Remove unused jogamp.opengl.SystemUtilSven Gothel2015-08-051-18/+0
|
* Bug 1183: Handle NULL return values for native RandR13 calls, which suppose ↵Sven Gothel2015-08-052-6/+13
| | | | | | | | | | | | | | to return 'int[]' Certain native RandR13 functions shall return 'int[]', but will bail out early in case of an error or lack of resources. The latter is true for getMonitorDeviceIds(..) where 'XRRScreenResources->ncrtc <= 0', causing return value NULL. This patch handles the NULL return values, however, the root cause of having 'XRRScreenResources->ncrtc <= 0' _occasionally_ lies within the Raspi X11 driver I am afraid?!
* Fix commit 24b646d387b3d85467bb22763b016a556d665707: Add missing semicolonSven Gothel2015-08-021-1/+1
|
* NEWT.WindowImpl: Adopt synchronized Bitfield for state flags (replacing 11 ↵Sven Gothel2015-08-024-100/+111
| | | | booleans)
* Adapt to GlueGen's Bitfield Changes (commit ↵Sven Gothel2015-08-023-5/+5
| | | | 047e9adaf2a5f51f7acfa194a744c99b6bfadaea)
* Use GlueGen's Bitfield instead of IntBitfieldSven Gothel2015-07-305-17/+17
|
* Bug 1145 - Fat Jar: Add default main entry test TestGearsES2SimpleNEWTSven Gothel2015-07-292-1/+380
|
* Merge branch 'Bug1178' of https://github.com/xranby/joglSven Gothel2015-07-297-15/+506
|\
| * Bug 1178: Workaround cc9 X11UnderlayTracker: Pressing Maximize locks-up the ↵Xerxes Rånby2015-07-291-1/+3
| | | | | | | | | | | | | | | | | | NEWT EDT cc9: Pressing Maximize locks-up the NEWT EDT Workaround cc9: Prevent the overlay to reposition the underlay. Signed-off-by: Xerxes Rånby <[email protected]>
| * Bug 1178: if overlay is undecorated then make under-lay the sameXerxes Rånby2015-07-282-9/+12
| |
| * Bug 1178: Mouse events shall be passed on to unfocused overlays.Xerxes Rånby2015-07-281-66/+62
| |
| * Bug 1178: Fix cc7 X11UnderlayTracker can now track multiple windows.Xerxes Rånby2015-07-281-86/+115
| | | | | | | | | | | | | | cc7: the UnderlayTracker needs to be engineered to handle multiple overlays -> need to spawn one X11 window for each new overlay. Signed-off-by: Xerxes Rånby <[email protected]>
| * Bug 1178: Fix cc8 bcm.vc.iv WindowDriver: Update pointer during DRAGGED events.Xerxes Rånby2015-07-281-1/+1
| | | | | | | | | | | | | | | | 1178 cc8: The bcm.vc.iv mousepointer is not updating _visible_ position during DRAGGED events. Fix cc8: update bcm.vc.iv WindowDriver doMouseEvent Signed-off-by: Xerxes Rånby <[email protected]>
| * Bug 1178: X11UnderlayTracker Fix cc4. Attempted fix for cc6.Xerxes Rånby2015-07-281-221/+247
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rename window -> underlayWindow. Fix indentation, long lines & whitespace. Bug 1178 cc4: another window overlaps NEWT underlay window -> overlay window is still on top. Fix 1178 cc4: we can request the NEWT underlay window to use always on top. Bug 1178 cc6: if you render the overlay window transparent -> caps.setBackgroundOpaque(false); then you will see that the underlay tracker window newer repaints -> looks a bit like a mess. Attempted fix 1178 cc6: x11 underlay tracker window can be set transparent as well. FIXME: The underlay tracker window is still filled with opaque garbage. Signed-off-by: Xerxes Rånby <[email protected]>
| * Bug 1178: Fix cc0 WindowImpl: Swallow CLICK eventXerxes Rånby2015-07-281-2/+3
| | | | | | | | Signed-off-by: Xerxes Rånby <[email protected]>
| * Bug 1178: Implement X11UnderlayTrackerXerxes Rånby2015-07-286-12/+446
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | driver/x11/X11UnderlayTracker Using NEWT to initialize an X11 window for use by Raspberry Pi users to handle mouse and keyboard input when using the bcm.vc.iv driver inside xorg. newt/driver/bcm/vc/iv/WindowDriver Try use X11UnderlayTracker as input for bcm.vc.iv If X11 fail to initialize then track using the /dev/event files directly using the LinuxMouseTracker. Input source is switched inside bcm/vc/iv/WindowDriver by using the new newt/driver/KeyTracker newt/driver/MouseTracker interfaces. Signed-off-by: Xerxes Rånby <[email protected]>
* | Bug 1154 - Make plugin3-public.jar optional: Part 2 / 2Sven Gothel2015-07-281-1/+11
| | | | | | | | Exclude plugin3.jar dependent source files from compilation of NEWT.
* | Bug 1154 - Make plugin3-public.jar optional: Part 1 / 2 (Relocate Applet3 ↵Sven Gothel2015-07-2810-23/+29
| | | | | | | | classes)
* | JAWTWindow: Fix binary compatibility: Add old variants of deprecated method, ↵Sven Gothel2015-07-282-2/+16
| | | | | | | | throwing a RuntimeException
* | Bug 1161 - Fix Canvas resize stops the rendering in Mac OS X (mostly from ↵Sven Gothel2015-07-281-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | WebStart) Root cause: JAWTWindow's JAWTComponentListener 'isShowing' state is initialized while attaching it on-thread and updated via hierarchy-changed event. JAWTComponentListener attachment to the component is issued at JAWTWindow's creation but on the AWT-EDT, hence it may happen at a later time. In this bug scenario, it happens very late, so that the hierarchy-changed event is missed and 'isShowing' is never set to 'true'. Solution is to update 'isShowing' state on the actual AWT-EDT when attaching to the component. Also make 'isShowing' volatile.
* | Bug 1181 - JOGL WebStart Applications using GLCanvas/AWT may Deadlock by two ↵Sven Gothel2015-07-275-26/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | AWT-EDT on Java >= 1.8.0_45 Root cause: - AWT Toolkit global Lock Our locking scheme (AWT-EDT-1): - Surface Lock - sun.awt.SunToolkit.awtLock() - Component.getGraphicsConfiguration() -> synchronized(Component.getTreeLock()) Other AWT-EDT-2 by Webstart: - synchronized(Component.getTreeLock()) - sun.awt.SunToolkit.awtLock() Results in a deadlock. Solution: - Issue Component.getGraphicsConfiguration() before awtLock(), where Component.getGraphicsConfiguration() is being used to detect possible reconfiguration. - Also use updated AWTGraphicsConfiguration's GraphicsConfiguration if no 'new' detection is required.
* | Bug 1184 - JOGL AWT Canvas Components don't update AWTGraphicsConfiguration ↵Sven Gothel2015-07-276-161/+378
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | when reconfigured. JOGL AWT Components, e.g. GLCanvas or NewtCanvasAWT, may be reconfigured by moving them to another display/monitor or by other means. Since AWT has no means to notify the user code via an event, JOGL components usually determine the reconfiguration via the override 'GraphicsConfiguration getGraphicsConfiguration()'. GLCanvas is sensible to this reconfiguration, however its AWTGraphicsConfiguration (owned via JAWTWindow) is not changed. Implement reconfiguration detection for all JOGL AWT Components and update the AWTGraphicsConfiguration if required. For now, constraint reconfiguration on GraphicsDevice change as currently implemented in GLCanvas. The updated AWTGraphicsConfiguration allows using the updated GraphicsDevice as it might be required for further information, e.g. pixel-scale on OSX.
* | Bug 1180: Refine TestMapBufferRead01NEWT, add TestMapBufferRead02NEWT: Add ↵Sven Gothel2015-07-243-31/+237
| | | | | | | | assertion checks and latter test uses FloatBuffer
* | Fix TestBug1146GLContextDialogToolTipAWT / AWTRobotUtil.mouseClick(..) use ↵Sven Gothel2015-07-243-8/+10
| | | | | | | | BUTTON1_MASK instead of BUTTON1_DOWN_MASK
* | fix osx 32bit/java6 test scriptsSven Gothel2015-07-242-4/+18
| |
* | Bug 1160: Fix/Refine test case: Stable master thread; Disable 'masterLock' ↵Sven Gothel2015-07-241-19/+40
| | | | | | | | in slave-creation (causes failure on windows)
* | Bug 1160: Fix test case (Avoid blocking/concurrent master context usage on AWT)Sven Gothel2015-07-241-81/+125
| | | | | | | | | | | | | | | | | | | | | | | | | | | | + // We cannot use EventQueue.invokeAndWait(..) since it will + // block this will block the current thread, holding the context! + // The whole issue w/ an external shared context is make-current + // synchronization. JOGL attempts to lock the surface/drawable + // of the master context to avoid concurrent usage. + // The semantic constraints of a shared context are not well defined, + // i.e. some driver may allow creating a shared context w/ a master context + // to be in use - others don't. + // Hence it is up to the user to sync the external master context in this case, + // see 'masterLock' of in this code! + // EventQueue.invokeAndWait(initializer);
* | GLContextImpl: Update uncommented code (method name changed)Sven Gothel2015-07-241-2/+2
| |
* | Bug 1160: Fix unit test name and some minor details .. (convention)Sven Gothel2015-07-244-33/+52
| |
* | Bug 1146, Bug 1158: Add missing GLClearColor classSven Gothel2015-07-241-0/+61
| |
* | Merge pull request #87 from TomNuydens/bug_1160Sven Gothel2015-07-241-0/+180
|\ \ | | | | | | Unit test for bug 1160: context sharing between external GL context and offscreen drawable
| * | Unit test for bug 1160; context sharing between an offscreen drawable and an ↵Tom Nuydens2015-06-011-0/+180
| | | | | | | | | | | | external GL context
* | | Bug 1146, Bug 1158: Add unit test for GLContext creation after showing ↵Sven Gothel2015-07-246-8/+299
| | | | | | | | | | | | | | | | | | | | | | | | tool-tip within JDialog Test passes on GNU/Linux X11 and Windows - both using NVidia driver. Unit test is based on Robin Provost's code as attached in Bug 1158.
* | | Bug 1151 - Fix using DK1 on OVR 0.5*; Minor changesSven Gothel2015-07-204-13/+26
| | |
* | | StereoDevice (Generic/OVR): Add knowledge about LocationSensorParameter and ↵Sven Gothel2015-07-206-13/+133
| | | | | | | | | | | | allow reset origin of location-sensor
* | | Clarify code in stereo/ovr: Comments, states, names, formatting.Sven Gothel2015-07-206-33/+22
| | |
* | | Refine Frustum definition: Adding Frustum.FovDesc; Clarify makeFrustum ↵Sven Gothel2015-07-206-36/+104
| | | | | | | | | | | | argument constraints -> Exceptions
* | | ShaderCode: Add 'create' variations w/ custom shader file suffixes as well ↵Sven Gothel2015-07-191-19/+303
| |/ |/| | | | | as w/ Uri usage
* | Fix javadoc typo: </count> -> </code>Sven Gothel2015-07-181-4/+4
| |
* | Bug 1151 - Working OculusVR SDK 0.5.0.1 on GNU/Linux w/ Positional Tracker (DK2)Sven Gothel2015-07-1821-161/+433
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Note: The ovrd server must run, otherwise no device is being detected. General Stereo API Changes: - EyePose -> ViewerPose - We only use the viewer pose and derive the pupile position via EyeParameter. - Hence we reduce complexity. - A single ViewerPose will be maintained by StereoDeviceRenderer - position is in meter, allowing StereoGLEventListener to scale device independent. - StereoDevice receives knowledge of certain sensors, to be queried and used for start-sensors. OVR: - Simply apply the above general changes - Build: Remove [more] unused API entries for SDK rendering
* | Merge branch 'master' of https://github.com/xranby/joglSven Gothel2015-07-171-0/+2
|\ \
| * | bcm/vc/iv/DisplayDriver depend on libEGL, pre-load it using GLProfileXerxes Rånby2015-07-171-0/+2
| | | | | | | | | | | | | | | | | | | | | Fixes libnewt.so: undefined symbol: bcm_host_init" when the NEWT Screen is initialized before OpenGL ES. Signed-off-by: Xerxes Rånby <[email protected]>
* | | Merge branch 'Bug1170' of https://github.com/rhatcher/joglSven Gothel2015-07-171-3/+3
|\ \ \ | |/ / |/| |
| * | Expand bitmasks in SWTAccessor GTK_VERSION methodrhatcher2015-07-101-3/+3
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SWTAccessor's GTK_VERSION method accepts a single int argument. The argument is interpreted as a bit-packed version number with the apparent intent that the three least significant bytes of the int version number are the major, minor, and micro version number components. The code that extracts these three components from the int argument was using four-bit mask 0x0f instead of eight-bit mask 0xff, and therefore was discarding the four most significant bits of each component. This caused any component greater than 15 to lose information. For example, a component whose value should have been 20 would end up as 4. The version number is used in comparisons in a static initializer to determine how to retrieve references to Method objects via reflection. One such comparison decides whether to retrieve a reference to method GTK_WIDGET_WINDOW or method gtk_widget_get_window. The problem initially presented itself after an attempt to use JOGL with SWT 4.527 and GTK 2.20.1 because this version of SWT removed the GTK_WIDGET_WINDOW method. Due to the bug SWTAccessor believed the GTK version was 2.4.1 instead of 2.20.1, so the code attempted to find GTK_WIDGET_WINDOW instead of gtk_widget_get_window. Because this method was no longer there a runtime exception was raised.
* | Bug 1176: BCM VC IV: Refine clamping of window position and size at native ↵Sven Gothel2015-07-172-15/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | creation - Refines commit a566a1b5a2828b38f1a5c4dfb215ab9b03e7acaa - Issue clamping at 'canCreateNativeImpl()' instead of 'createNativeImpl()', allowing to define clamped position and size before utilizing these values at caller 'createNative()'. Otherwise a clamped position would cause to wait for the original position after 'createNativeImpl()'. This also allows to remove the positionChanged(..) / sizeChanged(..) calls in the native CreateWindow0() implementation.
* | Bug 1176: BCM VC IV: Add window-position to window-relative mouse position ↵Sven Gothel2015-07-171-1/+1
| | | | | | | | in DisplayDriver.moveActivePointerIcon(..) call
* | Bug 1176: Clamp window position and size to 0/0 and screen-size, avoiding ↵Sven Gothel2015-07-172-4/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | out-of screen window positions on BCM VC IV hardware Out of screen window positions on BCM VC IV hardware cause: - Misalignment of self-rendered mouse-pointer / window due to window-offset. - Artifacts when moving the mouse pointer partially out of screen. We still need to add the window position to rel. mouse-pointer position.
* | PointShader: Use same precision for shared uniform in vertex- and fragment ↵Sven Gothel2015-07-163-4/+16
| | | | | | | | | | | | | | | | | | shader On GNU/Linux NVidia 340.76 the test TestGLPointsNEWT failed otherwise: error: precision mismatch between shaders for uniform (named mgl_PointParams[0]) error: precision mismatch between shaders for uniform (named mgl_PointParams[1])