| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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?!
|
| |
|
|
|
|
| |
booleans)
|
|
|
|
| |
047e9adaf2a5f51f7acfa194a744c99b6bfadaea)
|
| |
|
| |
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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]>
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
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]>
|
| |
| |
| |
| |
| |
| |
| |
| | |
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]>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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]>
|
| |
| |
| |
| | |
Signed-off-by: Xerxes Rånby <[email protected]>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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]>
|
| |
| |
| |
| | |
classes)
|
| |
| |
| |
| | |
throwing a RuntimeException
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| | |
assertion checks and latter test uses FloatBuffer
|
| |
| |
| |
| | |
BUTTON1_MASK instead of BUTTON1_DOWN_MASK
|
| |
| |
| |
| | |
in slave-creation (causes failure on windows)
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
+ // 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);
|
| | |
|
| | |
|
| | |
|
|\ \
| | |
| | | |
Unit test for bug 1160: context sharing between external GL context and offscreen drawable
|
| | |
| | |
| | |
| | | |
external GL context
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | | |
|
| | |
| | |
| | |
| | | |
allow reset origin of location-sensor
|
| | | |
|
| | |
| | |
| | |
| | | |
argument constraints -> Exceptions
|
| |/
|/|
| |
| | |
as w/ Uri usage
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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]>
|
|\ \ \
| |/ /
|/| | |
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| | |
in DisplayDriver.moveActivePointerIcon(..) call
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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])
|
| | |
|
|/
|
|
| |
State: Build clean on GNU/Linux and OSX
|