| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
| |
dec4b02fe4b93028c85de6a56b6af79601042d6e, ensuring EDT is running for reused Display instances.
Refine EDTUtil semantics of:
- reset()
- waitUntilStopped()
AWTEDTUtil/SWTEDTUtil: Properly signal !running when shutdown
SWTEDTUtil: Take SWT isDisposed() into account.
|
| |
|
|
|
|
| |
(non-blocking)
|
| |
|
|
|
|
| |
use nullTask ensuring to wait until EDT started.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
instances; Removing ref. at API destroy() is wrong ; Allow GC to clear ..
- Removing ref. at API destroy() is wrong
- Since all instances can be recreated, removing ref at destroy() is simply wrong.
- Keep weak references until GC collects, i.e. user does not claim them anymore.
- Safe for Display, since it holds it's EDT thread.
- Window/Screen .. if user abandons reference .. nothing we can do here.
- Allow GC to clear ..
No need to hold ref loonger than user.
|
|
|
|
| |
but also for FULLSCREEN WM state.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
At MonitoMode change, reset fullscreen if FLAG_IS_FULLSCREEN_SPAN is supported.
- Bug 770: Only use FLAG_IS_FULLSCREEN_SPAN if required
- If X11 WindowDriver _and_ virtual-screen-size > fullscreenViewport,
- else we still use _NET_WM_STATE_FULLSCREEN on X11!
- Bug 771: At MonitoMode change, reset fullscreen if FLAG_IS_FULLSCREEN_SPAN is supported
- Since we may still use _NET_WM_STATE_FULLSCREEN on X11:
- Pause fullscreen at monitorModeChangeNotify(..)
- Resume fullscreen at monitorModeChanged(..)
|
|
|
|
|
|
|
|
|
| |
- Quaternion.isEmpty()
- Texture.dispose(GL)
- GLContext.getGLVersionMajor() / ..Minor()
- GLContextImpl.bindPbufferToTexture() / releasePbufferFromTexture()
- MouseEvent.getWheelRotation()
-
|
|
|
|
|
|
|
|
|
| |
and CR/ENTER are printable for NEWT KeyEvent and font handling. Fix regression.
- Original behavior was treating CR/ENTER them as printable, lets keep it this way.
- KeyEvent: Query these 3 whitespaces upfront, no need to incl. them in 'nonPrintableKeys'.
- Fix regression: Native VK_ENTER was not change in commit 4c34f5980bddcdc84b10cb3bcbb96b365b9d471e.
|
|
|
|
| |
propagating event to show whether it has been consumed.
|
|
|
|
| |
view and 'font-definition' view. ENTER not. Fix ENTER code: 0xa -> 0xd !
|
|
|
|
| |
keyCode is 0.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug 770:
X11Window.c:
- Request focus _before_ enabling EWMH flags (fullscreen or above) after resize
and temporary invisibility.
This actually allows us to keep the focus after resize and repositioning!
- Set _NET_WM_BYPASS_COMPOSITOR implicit analog to _NET_WM_STATE_FLAG_ABOVE
- Clean up _NET_WM_* flag names, avoiding name space collisions, i.e. adding FLAG!
- Remove dead _NET_WM_STATE setting via direct window property (not working anyways)
- Remove dead code: FS_GRAB_KEYBOARD
X11/WindowDriver.java:
- Enable _NET_WM_STATE_FLAG_ABOVE temporarily if
FLAG_IS_FULLSCREEN && !FLAG_IS_ALWAYSONTOP
- Override focusChanged(..) to react on focus lost/gained
in case of temporarily enabled _NET_WM_STATE_FLAG_ABOVE.
If focus is lost, disable _NET_WM_STATE_FLAG_ABOVE,
otherwise re-enable it.
WindowImpl.java:
- FullscreenAction.run: Always use 'FLAG_IS_FULLSCREEN_SPAN'
+++
Bug 771:
WindowImpl.java:
- Keep fullscreenMonitors and fullscreenUseMainMonitor values intact,
allowing them to be tracked. Remove duplicates in FullscreenAction class.
- MonitorModeListenerImpl.monitorModeChanged:
Add fullscreen path: If the changed monitor is part of fullscreenMonitors,
recalculate the viewport union and reset position and fullscreen-size.
- MonitorModeListenerImpl: Try to regain focus after successful mode change.
|
| |
|
|
|
|
|
|
|
| |
happen at actual native create and destroy.
.. otherwise usage of Screen.createNative() and a later Window creation would cause
the ScreenMonitorState having 2 added listener - which in turn disables it's orig mode reset at Screen destruction.
|
| |
|
|
|
|
| |
temp. display connection!
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
MonitorMode* ; Sort List<MonitorMode> in descending order to be well determined.
Add Comparable<?>: Point*, Dimension*, Rectangle*, SurfaceSize* and MonitorMode*:
- Compare square values
- See API doc for order of special semantics (flags, rotation, ..)
Sort List<MonitorMode> in descending order to be well determined:
- Removes order by native mode id, give user a reliable natural order.
|
|
|
|
| |
blocking.
|
|
|
|
| |
shutdown. DisplayImpl.shutdownAll(): Don't block.
|
|
|
|
|
|
| |
(NewtCanvasAWT, ..)
.. otherwise an auto repeated key would cause fast focus traversal, not intended.
|
|
|
|
|
|
| |
GLDrawable on Windows.
FIXME: Validate against EGL surface creation: ANGLE uses HWND -> fine!
|
|
|
|
| |
component method.
|
|
|
|
|
|
|
|
|
|
|
|
| |
70bf3a4ec44504b86294a332255aaae8d2e86bf4 was not sufficient.
Commit 70bf3a4ec44504b86294a332255aaae8d2e86bf4 did not work out on Windows.
Solution now gathers the next or previous 'to be focused' component,
using the FocusTraversalPolicy of the visible/focusable/enabled container.
Then we simply request it's focus.
Works w/ Java7 on Linux and Windows.
|
|
|
|
|
|
|
|
| |
i.e. AWT Component's transferFocus() does nothing if component does not hold the focus.
.. this seems to be violating the AWT 'spec' .. however.
Workaround: Request focus before transfering it to the next/previous element.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
NativeWindowFactory.shutdownHook head, allowing proper resource cleanup.
1 WindowImpl.shutdownAll():
- For all instances:
- mark invalid (causes any user thread to disregard the window)
2 ScreenImpl.shutdownAll():
- Removed own shutdown-hook!
- For all instances:
- Reset ScreenMonitorState
3 DisplayImpl.shutdownAll():
- For all instances:
- Remove EDT
- closeNativeImpl
Manually tested on X11 w/ NV and ATI Catalyst (fglrx)
- DFLAGS="-Djogl.debug.GLDrawable -Dnativewindow.debug.X11Util -Dnativewindow.debug.NativeWindow -Dnewt.debug.Display -Dnewt.debug.Screen -Dnewt.debug.Window"
- java $DFLAGS com.jogamp.opengl.test.junit.jogl.demos.es2.newt.TestGearsES2NEWT -time 2000 -sysExit testExit
- valid arguments for sysExit: testExit, testError, displayExit, displayError
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
forceRelayout at end of applet.start(); Cleanup AWTKeyAdapter.
Refine 893cf0c8c32edf231dbf418d45d3181532d2402b: Partial revert and issue forceRelayout at end of applet.start();
- Seems the workaround of OSX CALayer positioning bug is timing dependent,
i.e. stopped working when disabled DEBUG output.
- Move NewtCanvasAWT creation and attachment back to init()
- Issue extra forceRelayout (if OSX) at end of start() .. works 'most of the time'.
Cleanup AWTKeyAdapter: Adapt code style of keyPressed() to keyReleased().
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
applet.start() (only once), working around 'OS X' CALayer positioning bug.
The NewtCanvasAWT workaround for the 'OS X' CALayer positioning bug(*)
may only work if parent is not only dislayable, but also visible.
(*): Workaround resizes the component 2x, forcing a relayout.
++
RequestFocus after setVisibile(true).
+++
Clear references to glWindow, newtCanvasAWT @ destroy.
|
|
|
|
| |
needs to be recognized (-> horiz. scroll)
|
|
|
|
| |
KeyListener.keyTyped(KeyEvent) - Part2: API Documentation and Comments
|
|
|
|
| |
KeyListener.keyTyped(KeyEvent)
|
|
|
|
| |
@ addNotify() w/o newtChild
|
|
|
|
|
|
|
| |
(dummy) and NEWT
Free the colormap at WindowDestroy, which we have created at WindowCreate w/ AllocNone.
Due to the fact we used 'AllocNone' the leak is minimal though ..
|
| |
|
|
|
|
| |
rotationScale arguments.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
key-codes; Respect numpad printable keys; Use keySym for numpad if possible.
- KeyEvent keyCode/keySym values re-ordered!
- Remove VK_KP_<Cursor> numpad key-codes, use general VK_<Cursor> key-codes.
Numpad cursor keys are not supported on some platforms (Windows),
or not configured on most X11 configurations.
- Respect numpad printable keys,
i.e. don't treat them as non-printable.
- Use keySym for numpad if possible.
Numpad keys require modifiers, hence X11 and Windows shall return keySym.
|
|
|
|
|
|
|
|
|
| |
(Cache) in ScreenImpl.getVirtualMonitorDevice(..).
W/ RandR13, we can have a case of an Output/CRT w/o valid modes,
indicating a switched off or detached monitor.
ScreenImpl.getVirtualMonitorDevice(..) requires a Cache .. due to MonitorModeProps.streamInMonitorDevice(..)
|
|
|
|
| |
EDT roundtrip when resize/positioning on MonitorMode changed ..
|
|
|
|
| |
WindowImpl.monitorModeChanged(): Resize/position if not fitting into virtual screen viewport.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Support for all monitor devices and their available modes
- X11: Use RandR 1.3 if available
- Retrieve information
- Changing a monitor device's mode
- Support for dedicated and spannig fullscreen
- See <http://jogamp.org/files/screenshots/newt-mmonitor/html/>
- TODO:
- X11 RandR does _not_ relayout the virtual screen size
and neither the CRT's viewport.
We may need to relayout them if they were covering a seamless region
to achieve same experience!
- OSX: No machine to attach a secondary CRT -> TEST!
- Tested Manually for Regressions
- Linux ARMv6hf (Rasp-Pi/BCM, Panda/X11)
- Android (Huawei, Kindle)
- Tested Manually and junit:
- X11/Linux
- NV, ATI-Catalyst w/ 2 CRTs
- VBox w/ 4 CRTs
- Win/Windows
- NV, w/ 2 CRTs
- VBox w/ 4 CRTs
- X11/OpenIndiana, NV, 1 CRT
|
|
|
|
| |
start RandR13 coding.
|
|
|
|
| |
to pluggable impl. for RandR 1.1 and 1.3 (todo)
|