Harvey Harrison (5): jogl: add missing @Override annotation in NewtCanvasAWT jogl: simplify conditional that repeats test for isOnScreen jogl: do the clearGlobalFocusOwner() call on the AWT EDT in NewtCanvasAWT jogl: push other call to clearGlobalFocus to the AWT EDT jogl: update the entry for JaamSim to a better image, update link to homepage Petros Koutsolampros (1): Bug 672 (NewtCanvasSWT ignore windowing offset on OSX'). The NewtCanvasSWT is now brought into place by the parent SWT Composite and the super SWT Canvas it extends. Also added two test cases. One with a simple SashForm and the NewtCanvasSWT in the second cell, and another with the NewtCanvasSWT in a Composite, that Composite now in the second cell of the SashForm. The second test is necessary because the NewtCanvasSWT does not receive SWT.Resize events in this configuration, but only SWT.Paint ones (a behaviour inherited from the super SWT Canvas) Randolf Schultz (2): Bug 907 - Initial patch allowing Jogl to respond to other applications that try to retrieve window names Bug 907 - Add native Windows test sending WM_GETTEXT to all windows and dumping the result. If working, Bug907 is fixed and hence DDT is working. Sven Gothel (97): GLContextImpl: Move sharedContextHandle check to makeCurrentWithinLock(..) and let it fail there instead of within impl. class, only pass the handle - simplifies and removes redundancy. Bug 888 - Validate CPU Runtime Performance: X11GLXGraphicsConfiguration.GLXFBConfig2GLCapabilities(..) Bug 888 / Bug 891 - Enhance GLCapabilities-Query: Apply changes of commit 613e33ee8ffc1f2b9c5db1e1b5bb5253a159ed6d to EGL and WGL. Bug 888 - Validate CPU Runtime Performance: Only use one HashMap to collect unified gl- and glx-extension strings. Test DumpGLInfo: Dump caps list and extenions Bug 888 / Bug 891- Enhance GLCapabilities-Query: Add perf. test case Bug 888 / Bug 891- Enhance GLCapabilities-Query: Add raw perf. test case 'choose' only and 'full' offscreen-drawable w/ context JNI Code: Call DeleteLocalRef(..) manually. Bug 888 / Bug 891- Enhance GLCapabilities-Query: Refine unit tests NEWT Window: Expose 'setVisible(boolean wait, boolean visible)' allowing applications to not block until window becomes visible. NativeWindow *GraphicsDevice: Align constructors to simplify call hierarchy for analysis. Bug 894 - GLDrawableFactory* [dummy|offscreen] Surface creation w/ own device does _not_ require locking on global shared device. Bug 894 - GLJPanel: Expose 'initializeBackend(boolean offthread)' allowing user to trigger backend initialization eagerly and offthread (optional, !WINDOWS) TestPerf001GLWindowInit03NEWT: Don't run !reuse Display - Crash on Windows/ATI driver .. Android: Add NewtDebugActivity Android: Cleanup Movie*ActivityLauncher* properties Android NEWT*Activity: Request GL2ES2 instead of GLES2 (Be aware of ES3) Bug 890 - Fix GLES3 Profile Mapping, i.e. GL2ES2 queries and mappings; Validate isGLES*() usage and definition ; Add and use ShaderCode.createExtensionDirective(..) Android Newt[Debug|Version]Activity: Separate both activities (testing odd reusing of app) Bug 898: Apply best efford on Animator operation's finishLifecycleAction(..) in !blocking mode, i.e. notifyAll() if waitCondition holds and test again GLJPanel: Remove redundant !isInitialized [double-]check in initializeBackendImpl(), already tested before function entry! TestTiledPrintingGearsSwingAWT: Cleanup whitespaces WGLGLCapabilities: Print pfdID as decimal (convention) WindowsWGLGraphicsConfigurationFactory: Fix chosenPFDID -> recommendedIndex (!skipCapsChooser mode) GLJPanel: Don't ctor DefaultGLCapabilitiesChooser() if null chooser is passed, this allows native GLCaps/config query to follow fast-path Android ES3 Movie Demos: Add workaround for: P0003: Extension 'GL_OES_EGL_image_external' not supported TestPerf001GLJPanelInit02AWT: Add overlapping test .. TestPerf001GLJPanelInit02AWT: Same size for !overlap and overlap Tests: Add com/jogamp/opengl/test/junit/jogl/acore/anim Animator test package Simplify Animator* Synchronization: Remove barrier 'stateSync' and favor simple 'synchronized' on Animator for field-get, which is already used in most methods Tests: Align NEWT parenting focus tests (package and class names) using NewtCanvasAWT Fix Bug 901 - NEWT: Lookup Windows 7 Touch Event Functions Dynamically to not break Windows < 7 Compatibility Bug 899: Validate whether we propagate WNDPROC as retrieved from 'getDummyWndProc0()' in RegisteredClassFactory - Result: Yes we do. Add TestGLWindows03NEWTAnimResize: Test NEWT basic resize while holding position .. (to be refined) Fix Bug 889 [Related: Bug 816, Bug 849, Bug 729] - GLCanvas disappear when moves between two JFrame Fix javadoc: TileRendererBase (links to manual anchors) and GLSharedContextSetter (remove <> in links, more details on Immersion.16. GLJPanel: Remove unused import NEWT: Add more documentation to WindowImpl's doPointerEvent(..) and consumePointerEvent(..) impl. details Bug 904 - GLJPanel: Allow user to skip isGLOriented() based vertical flip of offscreen backend Bug 904 - GLJPanel: Add property to skip isGLOriented() based vertical flip by default (2/2) TestPerf001GLJPanelInit02AWT: Wrong test name 'Gears' -> 'Nop' Applet Test Bug848AppletGLCanvas01: Only use vsync-interval 1 for last GLJPanel Bug 906 - JAWTWindow Component- and HierarchyListener must be detached at JAWTWindow.destroy() - GLCanvas Recreation Case Bug 903 - NEWT: Support 'Continue Drag on Exit'; Consistent Mouse ENTER/EXIT Fix Bug 879 - Threads deadlock in native keyboardfocus calls made form multiple threads; Fix Bug 892: Reduce Focus Hopping Fix GLIBC > 2.4 dependency regression of commit 613e33ee8ffc1f2b9c5db1e1b5bb5253a159ed6d Nativewindow/NEWT: Fix C Return Statement Use 'gluegen-clang.properties' for generic clang and 'gluegen-xcode_clang.properties' for OSX xcode-clang ; Add GNU/Linux LLVM/clang build scripts Fix Bug 879 Regression (2/2) - NewtCanvasAWT.FocusAction must take focus when in offscreen-mode (OSX/CALayer) NEWT AWTAdapter: Add notion of consuming the AWT InputEvent (will be used for key events); Allow AWTAdapter to be lazily setup w/ downstream object. NewtCanvasAWT: Use final AWT[Key|Mouse]Adapter and set downstream lazily; Consume AWT KeyEvents in downstream mode; Test respects 'consumed' key events. NEWT AWTAdapter*: Don't act if not setup (due to lazy setup mode), refines commit 5c6c11abf643013976ecbc0df463a923a1f52696 NewtCanvasAWT: Add method of 'isAWTEventPassThrough()', used in unit tests to fix event validation for offscreen mode (OSX/CALayer) NEWT Event Tests: Move TestParentingFocus* to event test package NEWT WindowImpl: Move consumePointerEvent(..) below doPointerEvent(..) to easy editing/review EGLGraphicsConfiguration: Add deauled DEBUG output for failed EGL-Config Queries Bug 890 - GLContextImpl's Version Validation: Only validate Integer based Version if requested context or string-version is >= 3.0 Fix Bug 893 - NewtCanvasAWT Lifecycle Race Condition (NPE on shutdown periodically) NewtCanvasAWT: Remove useless block in else branch WWW: Add J4K and Unlicense in Tools/Libraries .. Bug 909 - Reccreate GLJPanel's BufferedImage is no more sourced by singleton AWTGLPixelBuffer AWTWindowClosingProtocol: Hold Window reference impl. is listening to to properly removeClosingListener() (and replace boolean state) JOGLNewtAppletBase's windowDestroyNotify(): Double check 'awtParent' before reparenting 'back to parent' JOGLNewtApplet1Run: Perform AWT Operations on AWT-EDT ; Remove redundant explicit call to reparentWindow(null) @ destroy JOGLNewtAppletBase's add/remove 'reparentHome WindowListener' at start()/stop() Workaround Bug 910 (IcedTea-Web): NewtCanvasAWT shall postpone JAWTWindow destruction if removeNotify() is called from non AWT-EDT Bug 672: Move Unit Tests to appropriate SWT package and prepent Test so they get picked up by our unit test run Bug 672 (NewtCanvasSWT): Reuse SWTAccessor.isOS_TYPE ; Impl NW.getLocationOnScreen(..) for X11 and Windows ; Allow unit test to run on all platforms. Workaround Bug 910 (IcedTea-Web): NewtCanvasAWT shall postpone JAWTWindow destruction via explicit set flag. Bug 910: Add Standalone Extended Applet Lifecycle Validation Test Refine DemoBug910ExtendedAWTAppletLifecycleCheck (commit 9310b11b2b6e1e89fa5ed9b8de26e56ff6a6b262): Test start/stop balance. Fix Bug 902: FFMPEGMediaPlayer uses IOUtil.decodeURIIfFilePath(uri) to decode proper file-scheme if applicable - otherwise encoded ASCII URI. Bug 907 - Cleanup Commit e9c711a86aa05f4f24c69972532833f5a98911a3 Bug 907 - Fix regression of 'cleanup' Commit 52c95c19dbd69a7fc6b307d2b2db357ceb43ddf5 GLDrawableFactory: destroy() -> shutdownImpl() - Add DEBUG output in implementation GLDrawableFactory.shutdown0() Add DEBUG line at the end Bug 907 - Refine DummyDispatchThread (DDT) Handling: Proper OO integration in RegisteredClass; Safe DDT Post/WaitForReady handling and error cases ; ... GLJPanel.initializeBackend(offthread=true): Enable on Windows, thanks to Bug 907 impl. DummyDispatchThread (DDT) Bug 914 - Don't allow 'alwaysontop' in fullscreen mode, always allow switching to other applications via ALT-TAB Bug 914: Newt OSX: Don't use exclusive fullscreen mode (captured display) in favor of proper WM incl. ALT-TAB app-switching NEWT Windows: Rearrange wndProc switch-case: All key/mouse events shall be at last Bug 916 - NEWT Fullscreen Mode on Windows ALT-TAB doesn't allow Application Switching Bug 914: Newt OSX: Reset NSApp's presentationOptions @ windowClose0() / Assume having focus in fullscreen-mode Bug 919 - TestNewtKeyCodesAWT w/ NewtCanvasAWT Fails on Windows Due to Clogged Key-Release Event by AWT Robot TestNewtKeyEventAutoRepeatAWT: Fix regression of commit 8512777873461ee33d8ed913ee26bafc00a08a02 Bug 747: VectorUtil: Make scale(..) creating new float[] deprecated, adding 'in place' variant w/ passing result float[] ; TODO: Replace all variations with 'in place' version to be more memory efficient. Bug 904: 'User Vertical Flip' for GLJPanel shall be performed via PROJECTION matrix scaling instead of MODELVIEW rotation ... Bug 904: 'User Vertical Flip' for GLJPanel w/o vertical flip must be considered in AWTTilePainter: 'Origin of GL image is still on Bottom' TestShutdownCompleteNEWT: Enhance profiling via '-wait -initOnly' ; Use Platform.currentTimeMicros() for accuracy TestShutdownCompleteNEWT/AWT: Align both tests and account for GLInfo. Bug 922 (1/2): NEWT Window.reparentWindow(..): Provide REPARENT_HINT_BECOMES_VISIBLE hint via new method variant using hints; Deprecate other reparentWindow(..) variants w/o hints. Bug 922 (2/2): NEWT Window.reparentWindow(..): Use REPARENT_HINT_BECOMES_VISIBLE to ensure GL State Preservation ; Add unit test ! Bug 918 (1/2): Use StreamWorker in 'Audio Only' mode, since no 'getNextTexture(..)' is issued here! Bug 918: GLMediaPlayer: Fix Deadlock if EOS happens after pause/resume (seek) - Tested w/ seeking 'Audio Only' and Matroska Bug 918 (2/2): Determine StreamWorker usage after stream-init ; Fix seek(..) ; Fallback for EOS Detection ; MovieSimple uses full GLEventListener for 'Audio Only' as well to test seek ALAudioSink: Fix stop and flush of OpenAL source Bug 918: Fix EOS Regression: Only use pts>duration for EOS if duration > 0 (camera or other sources may not have duration)