summaryrefslogtreecommitdiffstats
path: root/src/newt/classes
Commit message (Collapse)AuthorAgeFilesLines
* Revisit Bug 770 and Bug 771: Only use FLAG_IS_FULLSCREEN_SPAN if required; ↵Sven Gothel2013-07-047-82/+135
| | | | | | | | | | | | | 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(..)
* Remove deprecated methods.Sven Gothel2013-07-041-27/+0
| | | | | | | | | - Quaternion.isEmpty() - Texture.dispose(GL) - GLContext.getGLVersionMajor() / ..Minor() - GLContextImpl.bindPbufferToTexture() / releasePbufferFromTexture() - MouseEvent.getWheelRotation() -
* Revise commit 4c34f5980bddcdc84b10cb3bcbb96b365b9d471e (Bug 767): TAB, BS ↵Sven Gothel2013-07-031-12/+19
| | | | | | | | | 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.
* WindowImpl.consumeKeyEvent: Reduce DEBUG println and show println after ↵Sven Gothel2013-07-032-8/+10
| | | | propagating event to show whether it has been consumed.
* Fix Bug 767: TAB + BS are considered 'printable' - Compromise of 'editor' ↵Sven Gothel2013-07-021-9/+14
| | | | view and 'font-definition' view. ENTER not. Fix ENTER code: 0xa -> 0xd !
* Fix Bug 770 and 771Sven Gothel2013-07-022-42/+94
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* MonitorDeviceImpl: No need to nanoTime() ..Sven Gothel2013-06-301-6/+6
|
* ScreenImpl: Fix ScreenMonitorState add/remove reference, which shall only ↵Sven Gothel2013-06-301-13/+11
| | | | | | | 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.
* NEWT Screen ..: Typos / JNI signatureSven Gothel2013-06-301-1/+1
|
* X11 RandR: Cleanup RandR impl. selection, RandR13 setMode does not require a ↵Sven Gothel2013-06-304-26/+35
| | | | temp. display connection!
* NewtCanvasAWT: Add missing println if(DEBUG) decorationSven Gothel2013-06-301-1/+3
|
* Add Comparable<?>: Point*, Dimension*, Rectangle*, SurfaceSize* and ↵Sven Gothel2013-06-305-11/+131
| | | | | | | | | | | 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.
* NEWT WindowImpl/GLWindow: @ JVM Shutdown, force stop animation thread w/o ↵Sven Gothel2013-06-252-3/+34
| | | | blocking.
* NEWT: EDTUtil.invokeStop(..) gets 'wait' argument, allowing non-blocking ↵Sven Gothel2013-06-255-14/+30
| | | | shutdown. DisplayImpl.shutdownAll(): Don't block.
* NEWT: Don't invoke external keyboardFocusHandler for auto-repeat keys ↵Sven Gothel2013-06-242-4/+8
| | | | | | (NewtCanvasAWT, ..) .. otherwise an auto repeated key would cause fast focus traversal, not intended.
* NEWT Windows WindowDriver: Suppress LOCK_SURFACE_CHANGED, no semantics in ↵Sven Gothel2013-06-241-1/+6
| | | | | | GLDrawable on Windows. FIXME: Validate against EGL surface creation: ANGLE uses HWND -> fine!
* Refine cb7118fc875b6722803e4b11d5681671962a8d3a: Unify get next/prev focus ↵Sven Gothel2013-06-241-2/+2
| | | | component method.
* Fix NewtCanvasAWT focus traversal for Java7 (Take 2): Commit ↵Sven Gothel2013-06-231-12/+7
| | | | | | | | | | | | 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.
* Fix NewtCanvasAWT focus traversal for Java7: All unit tests fail w/ Java7, ↵Sven Gothel2013-06-231-2/+10
| | | | | | | | 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.
* Fix Bug 761 (part 2/2): NEWT registers one customShutdownHook @ ↵Sven Gothel2013-06-234-36/+109
| | | | | | | | | | | | | | | | | | | | | | | 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
* GLWindow: Mention GLStateKeeper's GL state preservation in API docSven Gothel2013-06-231-2/+13
|
* NEWT/X11: Proper static initSingleton() sequence.Sven Gothel2013-06-233-5/+6
|
* Refine 893cf0c8c32edf231dbf418d45d3181532d2402b: Partial revert and issue ↵Sven Gothel2013-06-183-17/+25
| | | | | | | | | | | | 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().
* NewtCanvasAWT: Issue 'setFocusable(..)' at configureNewtChild(..)Sven Gothel2013-06-181-3/+4
|
* JOGLNewtApplet1Run: Defer 'newtCanvasAWT' creation and attachment to ↵Sven Gothel2013-06-181-15/+18
| | | | | | | | | | | | | | | | | 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.
* Fix regression of 31e72d2f2d953352b2a8c83368039ecca8139d49: Modifier SHIFT ↵Sven Gothel2013-06-171-2/+3
| | | | needs to be recognized (-> horiz. scroll)
* Fix Bug 688: Removal of NEWT KeyEvent.EVENT_KEY_TYPED and ↵Sven Gothel2013-06-175-23/+13
| | | | KeyListener.keyTyped(KeyEvent) - Part2: API Documentation and Comments
* Fix Bug 688: Removal of NEWT KeyEvent.EVENT_KEY_TYPED and ↵Sven Gothel2013-06-177-63/+19
| | | | KeyListener.keyTyped(KeyEvent)
* AWTGraphicsConfiguration: Allow null capsRequested; NewtCanvasAWT: Avoid NPE ↵Sven Gothel2013-06-151-2/+2
| | | | @ addNotify() w/o newtChild
* Adapt to GlueGen commit 1a01dce6c42b398cdd68d405828774a3ab366456Sven Gothel2013-06-112-16/+15
|
* NEWT: MouseEvent Ctor: Use proper float[] rotationXYZ and float ↵Sven Gothel2013-05-165-36/+57
| | | | rotationScale arguments.
* Fix Bug 723: Remove VK_KP_<Cursor> numpad key-codes, use general VK_<Cursor> ↵Sven Gothel2013-05-163-47/+30
| | | | | | | | | | | | | | | | 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.
* Fix NEWT MultiMonitor Regression: Use case w/o attached monitor, and NPE ↵Sven Gothel2013-05-092-9/+24
| | | | | | | | | (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(..)
* NEWT MonitorMode: Refine 081177f2433be50e3b5d46385c2f0f3f96311ed8: Reduce ↵Sven Gothel2013-05-071-1/+1
| | | | EDT roundtrip when resize/positioning on MonitorMode changed ..
* NEWT Multiple Monitor Mode: Fix monitorModeChanged(..) event id, ↵Sven Gothel2013-05-073-9/+11
| | | | WindowImpl.monitorModeChanged(): Resize/position if not fitting into virtual screen viewport.
* NEWT Multiple Monitor Mode: Add missing 'collect' impl. for NEWT/AWT impl.Sven Gothel2013-05-071-4/+43
|
* MonitorMode: Fix API doc / comments / names.Sven Gothel2013-05-079-113/+116
|
* Fix Bug 600 and Bug 721: Adding support for multiple monitors w/ NEWTSven Gothel2013-05-0634-1620/+3295
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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
* Bug 721: NEWT/X11 RandR 1.3 Support - Part 2 - Rename impl class/files, ↵Sven Gothel2013-04-195-25/+132
| | | | start RandR13 coding.
* Bug 721: NEWT/X11 RandR 1.3 Support - Part 1 - Delegate RandR functionality ↵Sven Gothel2013-04-184-194/+267
| | | | to pluggable impl. for RandR 1.1 and 1.3 (todo)
* NEWT/AWT-Wrapper-Driver: Fix MS-Windows Case (Use NativeWindow window ↵Sven Gothel2013-04-142-83/+106
| | | | handle); Use set size by frame only for OSX/CALayer
* NEWT/AWT: Fix 'AWT driver' to work w/ OSX CALayer ; WindowImpl: 'Object ↵Sven Gothel2013-04-134-56/+111
| | | | | | | | | | | | getWrappedWindow()' -> 'NativeSurface getWrappedSurface()' WindowImpl: 'Object getWrappedWindow()' -> 'NativeSurface getWrappedSurface()' - AWT driver itself instantiates the JAWTWindow for eager initialization at createNative(). Fix 'AWT driver' to work w/ OSX CALayer - See above - size reconfig changed to ease OSX CALayer, i.e. set frame's size if already visible reducing CALayer artefacts.
* LinuxEventDeviceTracker: Reapply changes from commit ↵Sven Gothel2013-04-111-4/+4
| | | | b13868b612689307ebf4e46ee4ede2fd0560e504, which got lost via my merge conflict resolution (duh).
* Merge remote-tracking branch 'xranby/NEWT-input'Sven Gothel2013-04-111-762/+831
|\ | | | | | | | | Conflicts: src/newt/classes/jogamp/newt/driver/linux/LinuxEventDeviceTracker.java
| * LinuxEventDeviceTracker: ALT, ALT_GRAPH & CTRL modifiers.Xerxes Rånby2013-04-091-4/+37
| | | | | | | | Signed-off-by: Xerxes Rånby <[email protected]>
| * LinuxEventDeviceTracker: 4 space indentationXerxes Rånby2013-04-091-798/+798
| | | | | | | | Signed-off-by: Xerxes Rånby <[email protected]>
| * LinuxEventDeviceTracker: shift-modifierXerxes Rånby2013-04-091-27/+63
| | | | | | | | Signed-off-by: Xerxes Rånby <[email protected]>
* | Merge remote-tracking branch 'hharrison/master'Sven Gothel2013-04-112-0/+0
|\ \
| * | jogl: remove executable bit from some java files and a pngHarvey Harrison2013-04-092-0/+0
| |/ | | | | | | Signed-off-by: Harvey Harrison <[email protected]>
* / NEWT KeyEvent: Use UTF-16 UniCode for key-code and key-symbol exposing well ↵Sven Gothel2013-04-1110-627/+1113
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | defined key encoding and simplify usage. Note, we use one collision to reduce key-code range: [0x61 .. 0x78] keyCodes [F1..F24] collide w/ ['a'..'x'] Since keyCode/Sym won't use lower capital a-z, this is a no isssue. KeyEvent: - 'printable' type is being determined by a nonPrintableKeys table, while 'action' type is set in case !printable and !modifier. - public ctor hidden, use create(..) method instead. This allows us to ensure modifier bit are properly set (incl. the keySym one) w/o performance loss. - ctor validates that only one of the type flags is set, printable, modifyable or action. WindowImpl: - Using IntBitfield of 255 bits to track pressed state, while removing the repeat state tracking since it is redundant. The Windows impl. uses a single field to validate whether a key was already repeated or not. - Properly cast keyCode short values to int for tracking! AWTNewtEventFactory, SWTNewtEventFactory: - Add translation of keyCode/Sym from and to NEWT - All tested via: - Newt -> Awt for AWTRobot - OSX CALayer: AWT -> NEWT - SWT tests X11: - Add VK_CONTEXT_MENU mapping (XK_Menu) LinuxEventDeviceTracker: - Fix apostrophe and grave mapping, i.e. to VK_QUOTE and VK_BACK_QUOTE. Adapted all unit tests, especially: - TestNewtKeyCodesAWT: More fine grained keyCode ranges to test using proper keyCode symbols.