summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Cleanup AWTRobotUtil: Extract GLTestUtil + NewtTestUtil; all three based on ↵Sven Gothel2019-04-0932-287/+536
| | | | TestUtil
* Bug 1362: Minimal action required: setBackground of the parent canvas before ↵Sven Gothel2019-04-093-13/+12
| | | | | | | reparenting! Bug 1362 fix or workaround: Seems SWT/GTK3 at least performs lazy initialization Minimal action required: setBackground of the parent canvas before reparenting!
* Bug 1362: Minimal action required: setBackground + fillRectangle of some ↵Sven Gothel2019-04-091-5/+9
| | | | | | | space in canvas ONCE before reparenting! Bug 1362 fix or workaround: Seems GTK3 at least performs lazy initialization Minimal action required: setBackground + fillRectangle of some space in canvas ONCE before reparenting!
* Bug 1362: TestSWTAccessor02NewtGLWindow demonstrates a fix by letting the ↵Sven Gothel2019-04-091-0/+11
| | | | | | | | | | | | | Canvas PAINT! This commit shows the very little change set required to allow working on SWT >= 4.10 + GTK3, i.e. adding the PAINT listener to Canvas and letting it paint. Almost too ridiculous? I stumbled over it by creating this test in the first place when copying the 01 test -> 02 and adding the native parenting. Possible explanation: The parent Canvas may need to paint once at least due to some lazy initialization within SWT or GTK3?!
* Bug 1362: Unit tests: Report SWT and GTK VersionSven Gothel2019-04-092-0/+4
|
* Bug 1362: Add two self contained unit tests to validate SWT >= 4.10 + GTK3 ↵Sven Gothel2019-04-092-0/+447
| | | | | | | | | | | | | issues TestSWTAccessor01: Simply tests SWTAccessor's returned native window handle. Works on SWT + GTK2 and SWT + GTK3. TestSWTAccessor02NewtGLWindow: Uses same returned native window handle and tests a GLWindow.reparentWindow(..) operation all rolled out and implemented here ad-hock (comparable to NewtCanvasSWT). This shall allow simplified debugging. Testing: - SWT + GTK2: Works - SWT + GTK3: Bug reproduced
* Bug 1362: SWTAccessor: c -> cGTK for readabilitySven Gothel2019-04-051-19/+20
|
* Bug 1362: Enhancing SWT/GTK Support for GTK 2.90, SWT > 4.8 (?)Wade Walker2019-04-051-9/+40
|
* Bug 1370: Call from Main-Thread: NW's OSXUtil.CreateNSWindow0(..) and NEWT's ↵Sven Gothel2019-04-052-23/+31
| | | | | | | | | | | | | | | | | | | | | | WindowDriver.createWindow0(..) OSX 10.14.3 Mojave issues a WARNING: NSWindow drag regions should only be invalidated on the Main Thread! This will throw an exception in the future. The complaint about NativeWindow (NW)'s OSXUtil.CreateNSWindow0(..) might be valid, which does create a NS Window instance w/ NSView and framebuffer initialized. However, the complaint about NEWT's WindowDriver.createWindow0(..) is not, since the initialization incl framebuffer happened later on the main thread. Regardless, encapsulated both construction fully to run on the Main-Thread. +++ Originally the Main-Thread design spec was like: Must run on Main-Thread when or after making visible. Oh well.
* TestVersionSemanticsNOUI: Adapt to upcoming NON_BACKWARD_COMPATIBLE version ↵Sven Gothel2019-04-031-50/+2
| | | | 2.4.0
* Bug 1367: Adapt to TempFileCache & TempJarCache ChangesSven Gothel2019-04-031-1/+1
|
* Bug 1367: Adapt to TempFileCache & TempJarCache ChangesSven Gothel2019-04-035-5/+5
|
* Bug 1366 - Use String.format((Locale)null, "..." ..) avoiding Locale output ↵Sven Gothel2019-03-3011-16/+27
| | | | for System related Operations
* Bug 1348: Fix X11 XI MultitouchSven Gothel2019-03-276-108/+126
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I got access to a touchscreen laptop w/ Debian 9, hence I could fix and test the implementation. X11 DisplayDriver.java: - Store and pass through xi_opcode of XI extension, queried at initialization stage X11Window.c Fixes: - Initialize JavaWindow's xiTouchCoords[].id w/ -1, as required to track the pointer - Pass through xi_opcode as stored in X11 DisplayDriver X11Display.c Fixes: - sendTouchScreenEvent: Throw RuntimeException if 0 > actionId (Internal Error: based on xiTouchCoords[].id tracking) - DispatchMessages's windowPointer determination: -- Query potenial XI Event first: IF XI Event, must use XIDeviceEvent's event Window -- Only IF not an XI Event, we can use evt.xany.window as the event window - DispatchMessages's XI Event Handling: -- Always break deviceid search loop if id found, preserving index and time spend Works on my Debian 9 device, tested w/ com.jogamp.opengl.test.junit.jogl.demos.es2.newt.TestGearsES2NEWT: - One pointer (finger) press, drag and release (click) - PinchToZoomGesture works - DoubleTabScrollGesture works +++ Potential Issues: JavaWindow's xiTouchCoords[].id accuracy is crucial to pointer tracking during XI_TouchBegin -> XI_TouchUpdate -> XI_TouchEnd. In the normal course of action: - XI_TouchBegin sets the id, assuming it is yet set - XI_TouchUpdate assumes it is set - XI_TouchEnd clears the id, assuming it is set This field in the JavaWindow array only gets reset to -1 once at native window creation. We may need to figure out when to reset this field to -1. If the XI_TouchEnd events would get lost for whatever reason, the above tracking state would be broken.
* Merge branch 'master' of github.com:sgothel/joglSven Gothel2019-03-271-8/+15
|\
| * Merge pull request #104 from gohai/bcm-fix-overscan-offsetSven Gothel2019-03-271-0/+7
| |\ | | | | | | Fix overlay/underlay position mismatch in X11UnderlayTracker (bug 1315)
| | * Fix overlay/underlay position mismatch in X11UnderlayTracker with overscan ↵gohai2017-03-051-0/+7
| | | | | | | | | | | | | | | | | | enabled With the overscan enabled by the Raspberry Pi firmware, which seems to be the default for some attached displays, the underlayWindow size will be e.g. 1888x1048 (retrieved from X11), whereas the overlayWindow size remains at 1920x1080 (retrieved from the Broadcom VC IV implementation). This causes the overlay window to be visually offset by a few pixels. Correct this by applying an offset when the two don't match. (Both displays are assumed to have the same center.)
| * | Merge pull request #103 from gohai/bcm-fix-mouse-buttonSven Gothel2019-03-271-8/+8
| |\ \ | | | | | | | | Fix mouse button reporting in X11UnderlayTracker
| | * | Fix mouse button reporting in X11UnderlayTrackergohai2017-02-161-8/+8
| | |/
* | / Bug 1348: X11 XI Multitouch: Refine commit ↵Sven Gothel2019-03-272-5/+12
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 746383476aa449e9cab4a25df27be85b61aa074b Add more verbose DBG_PRINT - @ CreateWindow: extension, scanning device/class, registered deviceid - @ DispatchMessage: XI_TouchBegin, XI_TouchUpdate and XI_TouchEnd On my test machine w/o a touchscreen I correctly: - detected extension - detected no XITouchClass device, hence no deviceid registered X11: [CreateWindow]: XI: Window 0x6600016, Extension 131 X11: [CreateWindow]: XI: Scan Window 0x6600016, device[1/13].class[1/7]: type 1 (is XITouchClass 0) X11: [CreateWindow]: XI: Scan Window 0x6600016, device[1/13].class[2/7]: type 2 (is XITouchClass 0) X11: [CreateWindow]: XI: Scan Window 0x6600016, device[1/13].class[3/7]: type 2 (is XITouchClass 0) X11: [CreateWindow]: XI: Scan Window 0x6600016, device[1/13].class[4/7]: type 2 (is XITouchClass 0) X11: [CreateWindow]: XI: Scan Window 0x6600016, device[1/13].class[5/7]: type 2 (is XITouchClass 0) X11: [CreateWindow]: XI: Scan Window 0x6600016, device[1/13].class[6/7]: type 3 (is XITouchClass 0) X11: [CreateWindow]: XI: Scan Window 0x6600016, device[1/13].class[7/7]: type 3 (is XITouchClass 0) X11: [CreateWindow]: XI: Scan Window 0x6600016, device[2/13].class[1/1]: type 0 (is XITouchClass 0) X11: [CreateWindow]: XI: Scan Window 0x6600016, device[3/13].class[1/3]: type 1 (is XITouchClass 0) X11: [CreateWindow]: XI: Scan Window 0x6600016, device[3/13].class[2/3]: type 2 (is XITouchClass 0) X11: [CreateWindow]: XI: Scan Window 0x6600016, device[3/13].class[3/3]: type 2 (is XITouchClass 0) X11: [CreateWindow]: XI: Scan Window 0x6600016, device[4/13].class[1/1]: type 0 (is XITouchClass 0) X11: [CreateWindow]: XI: Scan Window 0x6600016, device[5/13].class[1/1]: type 0 (is XITouchClass 0) X11: [CreateWindow]: XI: Scan Window 0x6600016, device[6/13].class[1/1]: type 0 (is XITouchClass 0) X11: [CreateWindow]: XI: Scan Window 0x6600016, device[7/13].class[1/1]: type 0 (is XITouchClass 0) X11: [CreateWindow]: XI: Scan Window 0x6600016, device[8/13].class[1/7]: type 1 (is XITouchClass 0) X11: [CreateWindow]: XI: Scan Window 0x6600016, device[8/13].class[2/7]: type 2 (is XITouchClass 0) X11: [CreateWindow]: XI: Scan Window 0x6600016, device[8/13].class[3/7]: type 2 (is XITouchClass 0) X11: [CreateWindow]: XI: Scan Window 0x6600016, device[8/13].class[4/7]: type 2 (is XITouchClass 0) X11: [CreateWindow]: XI: Scan Window 0x6600016, device[8/13].class[5/7]: type 2 (is XITouchClass 0) X11: [CreateWindow]: XI: Scan Window 0x6600016, device[8/13].class[6/7]: type 3 (is XITouchClass 0) X11: [CreateWindow]: XI: Scan Window 0x6600016, device[8/13].class[7/7]: type 3 (is XITouchClass 0) X11: [CreateWindow]: XI: Scan Window 0x6600016, device[9/13].class[1/7]: type 1 (is XITouchClass 0) X11: [CreateWindow]: XI: Scan Window 0x6600016, device[9/13].class[2/7]: type 2 (is XITouchClass 0) X11: [CreateWindow]: XI: Scan Window 0x6600016, device[9/13].class[3/7]: type 2 (is XITouchClass 0) X11: [CreateWindow]: XI: Scan Window 0x6600016, device[9/13].class[4/7]: type 2 (is XITouchClass 0) X11: [CreateWindow]: XI: Scan Window 0x6600016, device[9/13].class[5/7]: type 2 (is XITouchClass 0) X11: [CreateWindow]: XI: Scan Window 0x6600016, device[9/13].class[6/7]: type 3 (is XITouchClass 0) X11: [CreateWindow]: XI: Scan Window 0x6600016, device[9/13].class[7/7]: type 3 (is XITouchClass 0) X11: [CreateWindow]: XI: Scan Window 0x6600016, device[10/13].class[1/1]: type 0 (is XITouchClass 0) X11: [CreateWindow]: XI: Scan Window 0x6600016, device[11/13].class[1/1]: type 0 (is XITouchClass 0) X11: [CreateWindow]: XI: Scan Window 0x6600016, device[12/13].class[1/7]: type 1 (is XITouchClass 0) X11: [CreateWindow]: XI: Scan Window 0x6600016, device[12/13].class[2/7]: type 2 (is XITouchClass 0) X11: [CreateWindow]: XI: Scan Window 0x6600016, device[12/13].class[3/7]: type 2 (is XITouchClass 0) X11: [CreateWindow]: XI: Scan Window 0x6600016, device[12/13].class[4/7]: type 2 (is XITouchClass 0) X11: [CreateWindow]: XI: Scan Window 0x6600016, device[12/13].class[5/7]: type 2 (is XITouchClass 0) X11: [CreateWindow]: XI: Scan Window 0x6600016, device[12/13].class[6/7]: type 3 (is XITouchClass 0) X11: [CreateWindow]: XI: Scan Window 0x6600016, device[12/13].class[7/7]: type 3 (is XITouchClass 0) X11: [CreateWindow]: XI: Scan Window 0x6600016, device[13/13].class[1/1]: type 0 (is XITouchClass 0)
* | Bug 1348: X11 XI Multitouch: Fixes of previous commit ↵Sven Gothel2019-03-273-143/+120
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 92006e4baef57f1f3fb647dd307aed5989fd4c8d Previous commit 92006e4baef57f1f3fb647dd307aed5989fd4c8d (Note to Danny: I cannot test this now - please re-test and/or review) X11Common::JavaWindow - Owns XI extension's xiOpcode, selected xiTouchDeviceId and tracked XITouchPosition array X11Window::CreateWindow - Query XI extension only once @ window creation and earmark xiOpcode in JavaWindow instance - Fix: Device selection code was "class->type != XITouchClass", but shouldn't it be 'XITouchClass == class->type' (as patched here) - Fix: Free XIQueryDevice returned XIDeviceInfo array via XIFreeDeviceInfo - Earmark deviceid in JavaWindow instance X11Display - Moved global static touch_coordinates to JavaWindow::xiTouchCoords instance X11Display::DispatchMessage - Changed event handling structure similar to https://keithp.com/blogs/Cursor_tracking/ - Fix: Free XGetEventData's optional memory allocation via XFreeEventData - Reuse JavaWindow's queried xiOpcode - Fix: Don't overrise windowPointer, instead validate and require a match. JavaWindow must match! - Fix: Also validate chosen deviceid with JavaWindow's registered device Newt Build: - Added libXi in build recipe and doc
* | Merge pull request #102 from Yodoga/feature_multitouch_x11_1348Sven Gothel2019-03-274-3/+213
|\ \ | | | | | | add touch event support for x11 server
| * | add touch event support for x11 serverDanny Koernig2016-11-174-3/+213
| |/
* | Merge pull request #100 from PissedCapslock/patch-2Sven Gothel2019-03-261-1/+1
|\ \ | | | | | | Typo in javadoc of GLDrawable#isRealized
| * | Typo in javadoc of GLDrawable#isRealizedRobin Stevens2016-05-041-1/+1
| |/
* | Merge pull request #99 from PissedCapslock/patch-1Sven Gothel2019-03-261-3/+3
|\ \ | | | | | | Improved layout of last paragraph in class javadoc
| * | Improved layout of last paragraph in class javadocRobin Stevens2016-05-041-3/+3
| |/
* | Bug 1288: GLBufferStateTracker needs to support ARB_indirect_parametersSven Gothel2019-03-261-3/+11
| | | | | | | | | | | | GLBufferStateTracker needs to support ARB_indirect_parameters, i.e. checkTargetName(target) and getQueryName(target) need to recognize GL4.GL_PARAMETER_BUFFER_ARB.
* | Merge pull request #97 from gohai/bcm-fix-viewportwuSven Gothel2019-03-261-2/+2
|\ \ | | | | | | Fix viewport height in BCM VC IV ScreenDriver
| * | Bug 1254: Fix viewport height in BCM VC IV ScreenDrivergohai2016-04-041-2/+2
| |/ | | | | | | This should fix https://jogamp.org/bugzilla/show_bug.cgi?id=1254, which leads to windowed sketches not being centered in Processing.
* | Merge pull request #90 from packet0/patch-1Sven Gothel2019-03-261-1/+2
|\ \ | | | | | | SWTAccessor: Cleanup disable debug messages
| * | SWTAccessor: Cleanup disable debug messagespacket02015-08-111-1/+2
| | |
* | | ShaderCode: Fixed constant usage (GL3 -> GL3ES3)Sven Gothel2019-03-261-15/+15
| | |
* | | Bug 1283: Remove shader include filename quotes if exists at start and end onlySven Gothel2019-03-263-10/+18
| | |
* | | Merge pull request #95 from elect86/patch-1Sven Gothel2019-03-261-1/+1
|\ \ \ | | | | | | | | Removing double quotes from included shaders
| * | | Removing also all the double quotesGiuseppe Barbieri2016-01-291-1/+1
| | |/ | |/| | | | https://jogamp.org/bugzilla/show_bug.cgi?id=1283
* | | Bug 1357 Related: GLRendererQuirks NoSetSwapIntervalPostRetarget and ↵Julien Gouesse2019-03-251-5/+9
| | | | | | | | | | | | NoDoubleBufferedPBuffer no more required for Mesa >= 18.2.2
* | | Merge branch 'master' of github.com:sgothel/joglSven Gothel2019-03-251-1/+1
|\ \ \
| * \ \ Merge pull request #105 from serebit/patch-1Sven Gothel2019-03-251-1/+1
| |\ \ \ | | | | | | | | | | Fix BugZilla bug 1357
| | * | | Update GLContextImpl.javaCampbell Jones2017-12-261-1/+1
| | |/ /
* | | | NewtCanvasJFX: Utilize JFXEDTUtil per default, supporting the Windows PlatformjavafxSven Gothel2019-03-211-5/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On [GNU/Linux] X11 JFXEDTUtil is not required, since X11 can handle multi-threaded native parenting, however, the Windows platform does require JFXEDTUtil. Currently the default is to use JFXEDTUtil, which operates solely on the JavaFX thread for windowing lifecycle and even-dispatch operations. This behavior can be toggled via the boolean property 'jogamp.newt.javafx.UseJFXEDT', which currently defaults to 'true' This behavior might be analyzed in more detail for a fine grained EDTUtil decision.
* | | | NewtCanvasJFX.NativeWindow: Delegate required child window canvas positionSven Gothel2019-03-215-76/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | NewtCanvasJFX.NativeWindow shall pass through NewtCanvasJFX's Canvas position to properly position the NEWT child window inside the top level Window. NewtJFXReparentingKeyAdapter demonstrating manual reparenting demonstrates this case. TestGearsES2NewtCanvasAWT's default behavior is to use a surrounding border for the NEWTCanvasAWT child, similar to TestNewtCanvasJFXGLn.
* | | | TestNewtCanvasJFXGLn: Adding NEWTDemoListener and ↵Sven Gothel2019-03-201-0/+34
| | | | | | | | | | | | | | | | NewtJFXReparentingKeyAdapter functionality
* | | | Tests: Adding API Doc for test utilizing NEWTDemoListener and derivationsSven Gothel2019-03-209-17/+91
| | | |
* | | | Adding NativeWindowHolder extends NativeSurfaceHolder; API Doc for ↵Sven Gothel2019-03-208-51/+362
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | NEWTDemoListener NativeWindowHolder abstracts access to is-a or has-a parent component's NativeWindow like NewtCanvasAWT, NewtCanvasJFX and NewtCanvasSWT Adding API Doc for NEWTDemoListener.
* | | | NewtCanvasSWT: Fix NOP WindowClosingProtocol.WindowClosingMode BehaviorSven Gothel2019-03-201-5/+7
| | | |
* | | | NewtCanvasJFX: Implement WindowClosingProtocol.WindowClosingMode BehaviorSven Gothel2019-03-202-9/+22
| | | |
* | | | NewtCanvasJFX: Clarify [dispose() -> destroy()] operationSven Gothel2019-03-201-8/+8
| | | | | | | | | | | | | | | | | | | | This is automatically issued when receiving the javafx.stage.WindowEvent#WINDOW_CLOSE_REQUEST from the attached top-level JavaFX Window
* | | | JavaFX: Add proper class doc for implementation and unit testSven Gothel2019-03-202-34/+64
| | | |
* | | | JavaFX: Remove JFXAccessor redundancySven Gothel2019-03-191-15/+13
| | | |