Jogamp
jogl.git
4 years agoResolve compilation issues of commit 71f256693ddb6c383f382e99149f752c84d17075 (Backpo... b202_gl44
Sven Gothel [Wed, 13 Nov 2013 15:43:39 +0000 (16:43 +0100)]
Resolve compilation issues of commit 71f256693ddb6c383f382e99149f752c84d17075 (Backport of 34b35c5a0a379a6b4c0b23b9d347a0b1338f0239)

4 years agoFix Bug 862: Fix GL Version Validation / NVidia GTX550 driver 331.13 - 64bit Linux...
Sven Gothel [Sat, 19 Oct 2013 00:49:15 +0000 (02:49 +0200)]
Fix Bug 862: Fix GL Version Validation / NVidia GTX550 driver 331.13 - 64bit Linux - No compatibility GLProfile (GL2, >= GL3bc)

(Backport of 34b35c5a0a379a6b4c0b23b9d347a0b1338f0239)

Fix GL Version Validation:
  We shall not rely on our known good versions when validating a queried GL context version,
  but allow some 'room' for a higher version post JOGL release while still
  cutting off 'odd versions'.

  While GL version detection, we always iterate from the highest known version
  down to the lowest. Hence 'GLContext.isValidGLVersion(..)' is satisfied
  by validating the lowest version number but allowing a higher than known one.

  Now we would return 'invalid' for a version >= 6.

  It is enough to clip to the maximum known version when iterating,
  allowing the highest unknown version to be available.

  GLContext.isValidGLVersion(..):
    Returns true, if the major.minor is not inferior to the lowest
    valid version and does not exceed the highest known major number by more than one.

    The minor version number is ignored by the upper limit validation
    and the major version number may exceed by one.

    The upper limit check is relaxed since we don't want to cut-off
    unforseen new GL version since the release of JOGL.

    Hence it is important to iterate through GL version from the upper limit
    and 'decrementGLVersion(..)' until invalid.

Add GL Version 4.4 to valid known versions.

Remove ES3 desktop detection, which is impossible
  Regression of commit 3a0d7703da32e9a5ddf08a334f18588a78038d88 (ES3 support)

Conflicts:
make/scripts/tests-win.bat
make/scripts/tests.sh
src/jogl/classes/javax/media/opengl/GLContext.java
src/jogl/classes/jogamp/opengl/ExtensionAvailabilityCache.java
src/jogl/classes/jogamp/opengl/GLContextImpl.java

4 years agoGLVersionNumber.createVendorVersion(): Only test match result and potentially continu...
Sven Gothel [Fri, 31 May 2013 09:16:01 +0000 (11:16 +0200)]
GLVersionNumber.createVendorVersion(): Only test match result and potentially continue matching if having a pattern-match (don't loop for-ever).

4 years agoComplete/Fix GLVersionNumber (81afec4e963ac4372dc2b604d6f91237b81ee6f2): Set 'valid...
Sven Gothel [Fri, 31 May 2013 04:52:32 +0000 (06:52 +0200)]
Complete/Fix GLVersionNumber (81afec4e963ac4372dc2b604d6f91237b81ee6f2): Set 'valid' flag, always set major/minor and strEnd.

Also: Add negative tests to unit test.

4 years agoGLVersionNumber: Fix vendor version parser; Adapt to GlueGen commit 959d6d83ec2615234...
Sven Gothel [Fri, 31 May 2013 04:34:13 +0000 (06:34 +0200)]
GLVersionNumber: Fix vendor version parser; Adapt to GlueGen commit 959d6d83ec26152343d538287c02eeebf0dcf238

Adapt to GlueGen commit 959d6d83ec26152343d538287c02eeebf0dcf238:
  - Use only RegExp and cache default (no wrapped whitespace tokenizer)
  - String match: Store end-of-match and flag defined components.
  - Remove manual parsing, utilize VersionNumber
  - No need to look further for 'updated' GL version, (probably the vendor version),
    since we utilize the ARB version number as set at creation.

Fix vendor version parser:
  - Cut off GL version part of versionString (fixes case where GL version was interpreted as vendor version)
  - Loop through remaining string until a valid version number w/ major.minor has been found

4 years agoFix regression of commit b2802021acf8aa9b363ebef383c8dc8c8079ffa4 (Bug 711): varying...
Sven Gothel [Sat, 18 May 2013 03:41:27 +0000 (05:41 +0200)]
Fix regression of commit b2802021acf8aa9b363ebef383c8dc8c8079ffa4 (Bug 711): varying in/out mapping is different in vertex/fragment shader!

Vertex shader:   varying -> out
Fragemnt shader: varying -> in

NV GLSL compiler ignored in/out direction,
where ATI GLSL compiler failed (could not find gcu_Weight, due to dead code).

4 years agoUnit Test: Remove unused import
Sven Gothel [Sat, 18 May 2013 00:50:22 +0000 (02:50 +0200)]
Unit Test: Remove unused import

4 years agoFix Unit Tests Exclusion " if( !GLProfile.isAvailable(GLProfile.GL*) ) { .. } ":...
Sven Gothel [Sat, 18 May 2013 00:48:21 +0000 (02:48 +0200)]
Fix Unit Tests Exclusion " if( !GLProfile.isAvailable(GLProfile.GL*) ) { .. } ": Add missing return statement to abort test.

4 years agoFix Bug 736: Add GL.GL_UNSIGNED_INT and GL2ES2.GL_INT case in GLArrayDataWrapper...
Petr Skramovsky [Fri, 17 May 2013 07:09:12 +0000 (09:09 +0200)]
Fix Bug 736: Add GL.GL_UNSIGNED_INT and GL2ES2.GL_INT case in GLArrayDataWrapper.getBufferClass()

4 years agoGLPixelBuffer.dispose(): Set diposed:=true to allow isValid() to work properly; GLJPa...
Sven Gothel [Fri, 17 May 2013 06:48:57 +0000 (08:48 +0200)]
GLPixelBuffer.dispose(): Set diposed:=true to allow isValid() to work properly; GLJPanel: Rely on GLPixelBuffer.requiresNewBuffer(..) for each frame, don't use local pixelBufferCheckSize (buggy w/ singleton)

4 years agoJOGL GLSL ShaderProgram/State: Release of an unlinked ShaderProgram shall not throw...
Sven Gothel [Fri, 17 May 2013 06:44:40 +0000 (08:44 +0200)]
JOGL GLSL ShaderProgram/State: Release of an unlinked ShaderProgram shall not throw an exception -> avoid calling useProgram(.., false).

4 years agoGLSL version determination: Use static GLSL version mapping in case of GLES - Mesa...
Sven Gothel [Fri, 17 May 2013 05:57:50 +0000 (07:57 +0200)]
GLSL version determination: Use static GLSL version mapping in case of GLES - Mesa 9.1* fails otherwise since it supports ES3/300 which is returned.

4 years agoFix Bug 711: Align Graphs's Curve Shader programmatically to used GL/GLSL version...
Sven Gothel [Fri, 17 May 2013 05:55:59 +0000 (07:55 +0200)]
Fix Bug 711: Align Graphs's Curve Shader programmatically to used GL/GLSL version, following all other internal GLSL usage utilizing ShaderCode.

4 years agoFix Bug 737: Add shader default precision for GLSL [1.30 .. 1.50[ - See GLSL Spec...
Sven Gothel [Fri, 17 May 2013 02:52:32 +0000 (04:52 +0200)]
Fix Bug 737: Add shader default precision for GLSL [1.30 .. 1.50[ - See GLSL Spec [1.30 - 1.40].

4 years agoNEWT: MouseEvent Ctor: Use proper float[] rotationXYZ and float rotationScale arguments.
Sven Gothel [Thu, 16 May 2013 21:53:09 +0000 (23:53 +0200)]
NEWT: MouseEvent Ctor: Use proper float[] rotationXYZ and float rotationScale arguments.

4 years agoFix Bug 723: Remove VK_KP_<Cursor> numpad key-codes, use general VK_<Cursor> key...
Sven Gothel [Thu, 16 May 2013 19:33:25 +0000 (21:33 +0200)]
Fix Bug 723: Remove VK_KP_<Cursor> numpad key-codes, use general VK_<Cursor> 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.

4 years agoFix Bug 731: GLJPanel: Access global GLPixelBuffer via SingletonGLPixelBufferProvider...
Sven Gothel [Thu, 9 May 2013 02:49:29 +0000 (04:49 +0200)]
Fix Bug 731: GLJPanel: Access global GLPixelBuffer via SingletonGLPixelBufferProvider, if provided - releasing prev. smaller GLPixelBuffer after resize.

4 years agoFix NEWT MultiMonitor Regression: Use case w/o attached monitor, and NPE (Cache)...
Sven Gothel [Thu, 9 May 2013 00:57:09 +0000 (02:57 +0200)]
Fix NEWT MultiMonitor Regression: Use case w/o attached monitor, and NPE (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(..)

4 years agoFix regression of commit 0a7bf77b8c0765f8a53dc72a8edab8e0496938ff - GLReadBufferUtil...
Sven Gothel [Wed, 8 May 2013 21:39:17 +0000 (23:39 +0200)]
Fix regression of commit 0a7bf77b8c0765f8a53dc72a8edab8e0496938ff - GLReadBufferUtil's GLPixelBuffer* usage. Ref GLJPanel SingleAWTGLPixelBufferProvider's screenshots.

Ref GLJPanel SingleAWTGLPixelBufferProvider's screenshots:
  <http://jogamp.org/files/screenshots/gljpanels-singlebuffer/>

4 years agoRefactor: TextureData's PixelAttributes/PixelBufferProvider -> GLPixelBuffer/.. and...
Sven Gothel [Wed, 8 May 2013 20:57:17 +0000 (22:57 +0200)]
Refactor: TextureData's PixelAttributes/PixelBufferProvider -> GLPixelBuffer/.. and enhance usage; GLJPanel: Use GLPixelBuffer* API and SingleAWTGLPixelBufferProvider if possible.

Refactor: TextureData's PixelAttributes/PixelBufferProvider -> GLPixelBuffer/.. and enhance usage
  - GLPixelBuffer, GLPixelAttributes and GLPixelBufferProvider have potential for wider audience,
    hence extract them to package 'com.jogamp.opengl.util'.

  - Using GLPixelBuffer, shall attempt to use pack/unpack row-stride, i.e.
    GL2GL3.GL_PACK_ROW_LENGTH, or GL2GL3.GL_UNPACK_ROW_LENGTH.
    See GLReadBufferUtil and GLJPanel

  - AWTGLPixelBuffer*: Attribute 'row-stride' allows reusing a bigger buffer than requested.

GLJPanel: Use GLPixelBuffer* API and SingleAWTGLPixelBufferProvider if possible.
  - Use GLPixelBuffer API to remove redundancies

  - Attempts to use SingleAWTGLPixelBufferProvider to save JVM/CPU heap space
    for BuffereImage and IntBbuffer (readBack)

Added unit new test demonstrating multiple overlapping GLJPanels reusing (or not)
a singlton SingleAWTGLPixelBufferProvider.

4 years agoGLBuffers: Extract common methods: bytesPerPixel(..) and componentCount(.). Better...
Sven Gothel [Wed, 8 May 2013 20:48:04 +0000 (22:48 +0200)]
GLBuffers: Extract common methods: bytesPerPixel(..) and componentCount(.). Better namings for vars, i.e. compCount, .. etc

4 years agoAdd TestGearsGLJPanelAWT, i.e. multiple JPanels w/ GLJPanel running GearsES2 in their...
Sven Gothel [Wed, 8 May 2013 03:49:41 +0000 (05:49 +0200)]
Add TestGearsGLJPanelAWT, i.e. multiple JPanels w/ GLJPanel running GearsES2 in their own color.

Note: JComponent will introduce flickering if using opaque rendering mode!

4 years agoGLJPanel: Use PixelBufferProvider AWTPixelBufferProviderInt; PixelBufferProvider...
Sven Gothel [Wed, 8 May 2013 01:49:55 +0000 (03:49 +0200)]
GLJPanel: Use PixelBufferProvider AWTPixelBufferProviderInt; PixelBufferProvider: Add 'dispose()' to interface.

Transition reusing AWT specific PixelBufferProvider to allow a later user provided PixelBufferProvider.

4 years agoGLX: Put native ByteBuffer to native-order in 'glXGetVisualFromFBConfig' and minor...
Sven Gothel [Tue, 7 May 2013 21:28:08 +0000 (23:28 +0200)]
GLX: Put native ByteBuffer to native-order in 'glXGetVisualFromFBConfig' and minor edits (final, same 'nativeOrder()' call style)

4 years agoMinor: Typo/Syntax in GLRendererQuirks
Sven Gothel [Tue, 7 May 2013 20:36:26 +0000 (22:36 +0200)]
Minor: Typo/Syntax in GLRendererQuirks

4 years agoNEWT MonitorMode: Refine 081177f2433be50e3b5d46385c2f0f3f96311ed8: Reduce EDT roundtr...
Sven Gothel [Tue, 7 May 2013 11:34:25 +0000 (13:34 +0200)]
NEWT MonitorMode: Refine 081177f2433be50e3b5d46385c2f0f3f96311ed8: Reduce EDT roundtrip when resize/positioning on MonitorMode changed ..

4 years agoNEWT Multiple Monitor Mode: Fix monitorModeChanged(..) event id, WindowImpl.monitorMo...
Sven Gothel [Tue, 7 May 2013 10:51:18 +0000 (12:51 +0200)]
NEWT Multiple Monitor Mode: Fix monitorModeChanged(..) event id, WindowImpl.monitorModeChanged(): Resize/position if not fitting into virtual screen viewport.

4 years agoNEWT Multiple Monitor Mode: Add missing 'collect' impl. for NEWT/AWT impl.
Sven Gothel [Mon, 6 May 2013 23:03:17 +0000 (01:03 +0200)]
NEWT Multiple Monitor Mode: Add missing 'collect' impl. for NEWT/AWT impl.

4 years agoMonitorMode: Fix API doc / comments / names.
Sven Gothel [Mon, 6 May 2013 22:35:08 +0000 (00:35 +0200)]
MonitorMode: Fix API doc / comments / names.

4 years agoMonitorMode Unit Tests: Perform 'filterByRate(..)' _after_ 'filterByResolution(....
Sven Gothel [Mon, 6 May 2013 21:20:48 +0000 (23:20 +0200)]
MonitorMode Unit Tests: Perform 'filterByRate(..)' _after_ 'filterByResolution(..)' (desired resolution)

4 years agoFix GLX: X11GLXContext used wrong FBConfig n/a query; X11GLX*: If FBConfig is n/a...
Sven Gothel [Mon, 6 May 2013 15:31:31 +0000 (17:31 +0200)]
Fix GLX: X11GLXContext used wrong FBConfig n/a query; X11GLX*: If FBConfig is n/a force GLX (server) version down to 1.1 to avoid crashes w/ old GLX server (i.e. Mesa 4.*).

4 years agoFix GLSL Version Exposure: Type in 'static' GL -> GLSL matching, don't set GLSL versi...
Sven Gothel [Mon, 6 May 2013 15:29:35 +0000 (17:29 +0200)]
Fix GLSL Version Exposure: Type in 'static' GL -> GLSL matching, don't set GLSL version if GLSL is n/a

4 years agoFix Bug 600 and Bug 721: Adding support for multiple monitors w/ NEWT
Sven Gothel [Mon, 6 May 2013 15:27:09 +0000 (17:27 +0200)]
Fix Bug 600 and Bug 721: Adding support for multiple monitors w/ NEWT

- 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

4 years agoGLReadBufferUtil: Utilizing PixelBufferProvider; Adding AWTGLReadBufferUtil adding...
Sven Gothel [Sat, 27 Apr 2013 06:47:24 +0000 (08:47 +0200)]
GLReadBufferUtil: Utilizing PixelBufferProvider; Adding AWTGLReadBufferUtil adding BufferedImage support; Demonstrating w/ unit tests.

4 years agoTextureData: Add PixelAttributes and PixelBufferProvider; ColorSink back to JPEGDecod...
Sven Gothel [Sat, 27 Apr 2013 06:28:46 +0000 (08:28 +0200)]
TextureData: Add PixelAttributes and PixelBufferProvider; ColorSink back to JPEGDecode (not general enough)

- TextureData: Add PixelAttributes and PixelBufferProvider
  - PixelBufferProvider is intended as a pattern allowing
    producers (i.e. GLReadBufferUtil) to utilize custom pixel buffer
    for various intend.

  - PixelAttributes can be chosen by PixelBufferProvider implementation
    and groups the texture's pixel/data format and type.
    TextureData uses PixelAttributes internally now.

- ColorSink back to JPEGDecode (not general enough)
  - Partially reverts 94ea306d1809290db678d3181619bdc39d4334bb

4 years agoAdd missing JogAmp (c) note - using date of 1st JogAmp edit.
Sven Gothel [Sat, 27 Apr 2013 01:18:07 +0000 (03:18 +0200)]
Add missing JogAmp (c) note - using date of 1st JogAmp edit.

4 years agoComplete commit e7064ece049705e013d80985eae698ce0ee3c4e3: Add getDefaultPixelDataForm...
Sven Gothel [Fri, 26 Apr 2013 23:45:14 +0000 (01:45 +0200)]
Complete commit e7064ece049705e013d80985eae698ce0ee3c4e3: Add getDefaultPixelDataFormat(), complementing getDefaultPixelDataType()

4 years agoMove JPEGDecoder.PixelStorage -> TextureData.ColorSink: Appropriate name + public use
Sven Gothel [Fri, 26 Apr 2013 23:38:12 +0000 (01:38 +0200)]
Move JPEGDecoder.PixelStorage -> TextureData.ColorSink: Appropriate name + public use

4 years agoGLContext*'s ctxGLSLVersion: Use zeroVersion to denominate uninitialized VersionNumbe...
Sven Gothel [Fri, 26 Apr 2013 05:41:12 +0000 (07:41 +0200)]
GLContext*'s ctxGLSLVersion: Use zeroVersion to denominate uninitialized VersionNumber instead of null, it's get*string returns a zero length string instead of null.

4 years agoSimplify GLDrawableFactory's SharedResource Query Methods; Move WindowsWGLDrawableFac...
Sven Gothel [Fri, 26 Apr 2013 03:38:24 +0000 (05:38 +0200)]
Simplify GLDrawableFactory's SharedResource Query Methods; Move WindowsWGLDrawableFactory Quirks to GLRendererQuirks (NeedCurrCtx4ARBPixFmtQueries, NeedCurrCtx4ARBCreateContext); Bug 706: Confine NeedCurrCtx4ARBCreateContext to [Windows, ATI, driver < 12.102.3); Avoid possible NPE @ GLContext.getGLVendorVersionNumber()

- Simplify GLDrawableFactory's SharedResource Query Methods
  - Moving common methods to GLDrawableFactory/GLDrawableFactoryImpl
    while reusing common methods to SharedResourceRunner.Resource.
  - All factories SharedResources impl. SharedResourceRunner.Resource.

- Move WindowsWGLDrawableFactory Quirks to GLRendererQuirks (NeedCurrCtx4ARBPixFmtQueries, NeedCurrCtx4ARBCreateContext)
  - For better maintenance, move the mentioned quirks from the windows factory to our common place,
    being detected within GLContextImpl after each context creation.

- Bug 706: Confine NeedCurrCtx4ARBCreateContext to [Windows, ATI, driver < 12.102.3)
  - Before we added this quirk if [Windows, ATI],
    however, we have hopes that the new drivers will suffice for all
    as tested successful on my test machine (AMD Radeon HD 6300M Series, amd_catalyst_13.5_mobility_beta2).

- Avoid possible NPE @ GLContext.getGLVendorVersionNumber()
  - GLContext.getGLVendorVersionNumber() never returns 'null' but a zero version instance instead!
  - Add API doc.

- Use mixed case names in GLContextImpl.setRendererQuirks(..).

4 years agoFix Bug 706 and Bug 520: Certain ATI GPU/driver require a current context when callin...
Sven Gothel [Thu, 25 Apr 2013 04:08:01 +0000 (06:08 +0200)]
Fix Bug 706 and Bug 520: Certain ATI GPU/driver require a current context when calling wglCreateContextAttribsARB (Windows)

See discussion at
   https://jogamp.org/bugzilla/show_bug.cgi?id=520
   https://jogamp.org/bugzilla/show_bug.cgi?id=706

4 years agoQuirk DontCloseX11Display: Only detect w/ X11 NativeWindow System.
Sven Gothel [Wed, 24 Apr 2013 19:49:40 +0000 (21:49 +0200)]
Quirk DontCloseX11Display: Only detect w/ X11 NativeWindow System.

4 years agoX11 Error Handler: Start quiet; Init: quite = !debug; Internal calls: Pass through...
Sven Gothel [Wed, 24 Apr 2013 16:48:14 +0000 (18:48 +0200)]
X11 Error Handler: Start quiet; Init: quite = !debug; Internal calls: Pass through errorHandlerQuiet state.

4 years agoAdd scripts/make.jogl.all.sh
Sven Gothel [Wed, 24 Apr 2013 03:15:36 +0000 (05:15 +0200)]
Add scripts/make.jogl.all.sh

4 years agoUse new toolchain (gluegen 3b7ea9f67487be8f133c19b493b632fc579c5049)
Sven Gothel [Wed, 24 Apr 2013 03:10:50 +0000 (05:10 +0200)]
Use new toolchain (gluegen 3b7ea9f67487be8f133c19b493b632fc579c5049)

4 years agoComplete intend of commit cdbf3f42ea530f91639536e03b2c203715c3c300 - Test for null...
Sven Gothel [Tue, 23 Apr 2013 06:12:25 +0000 (08:12 +0200)]
Complete intend of commit cdbf3f42ea530f91639536e03b2c203715c3c300 - Test for null against a temp variable to narrow races

4 years agoMerge remote-tracking branch 'hharrison/backend'
Sven Gothel [Tue, 23 Apr 2013 06:03:20 +0000 (08:03 +0200)]
Merge remote-tracking branch 'hharrison/backend'

4 years agoFix JAWTUtil's ToolkitLock: Using RecursiveLock instance covering the AWT lock instea...
Sven Gothel [Tue, 23 Apr 2013 06:02:02 +0000 (08:02 +0200)]
Fix JAWTUtil's ToolkitLock: Using RecursiveLock instance covering the AWT lock instead of simple volatile fields (bug).

4 years agoX11GLXContext: Issue XSync(..) after forcing X11ErrorHandle and before glXCreateConte...
Sven Gothel [Tue, 23 Apr 2013 05:58:08 +0000 (07:58 +0200)]
X11GLXContext: Issue XSync(..) after forcing X11ErrorHandle and before glXCreateContextAttribsARB(..) - Mitigate driver bugs

Ensures the error handler is in place and previous X11 cmds are being executed before the 'critical' glXCreateContextAttribsARB(..)
call which might lead to erroneous behavior w/ buggy drivers.

4 years agoRefine some API docs ..
Sven Gothel [Tue, 23 Apr 2013 05:53:56 +0000 (07:53 +0200)]
Refine some API docs ..

4 years agoFix Bug 722: Make GLEventListenerState 'transaction' safe Animator.pause[ surface...
Sven Gothel [Tue, 23 Apr 2013 05:53:31 +0000 (07:53 +0200)]
Fix Bug 722: Make GLEventListenerState 'transaction' safe Animator.pause[ surface.lock[ modify ] ]

GLEventListenerState:
  New model for GLEventListenerState's transaction safety:
   - Z Decorate-1: Animator.pause [ X ]  Animator.resume
   - X Decorate-2: Surface.lock [ Y ] Surface.unlock

  - Instead of setting AbstractGraphicsDevice, just swap the handle and ownership.

  - Issuing setRealized(..) only if required, i.e. having an upstream-surface (EGL..) depending on used device

  - Utilizing setRealized(..) on the GLAD's delegated 'real' drawable, avoiding optional GLAD locking.

  - Cleanup and above changes shall render impl. easier to read.

GLEventListenerState Unit Tests:
  - If swapping/moving from AWT -> NEWT, use a NEWT dedicated Display
    avoiding ATI driver XCB crash - read comment.

4 years agoTest for null against a temp variable to narrow races
Harvey Harrison [Fri, 19 Apr 2013 08:19:48 +0000 (01:19 -0700)]
Test for null against a temp variable to narrow races

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>

4 years agoBug 721: NEWT/X11 RandR 1.3 Support - Part 2 - Rename impl class/files, start RandR13...
Sven Gothel [Fri, 19 Apr 2013 00:46:48 +0000 (02:46 +0200)]
Bug 721: NEWT/X11 RandR 1.3 Support - Part 2 - Rename impl class/files, start RandR13 coding.

4 years agoGLJPanel: Avoid NPE of 'backend' in getChosenGLCapabilities() and DisposeGLEventListe...
Sven Gothel [Thu, 18 Apr 2013 21:23:09 +0000 (23:23 +0200)]
GLJPanel: Avoid NPE of 'backend' in getChosenGLCapabilities() and DisposeGLEventListenerAction.run() ; Make 'backend' volatile due to possible multi-threading access.

4 years agoBug 718: WindowsBitmapWGLDrawable: Requires GLProfile.GL2, fix BITMAP GLCaps ASAP...
Sven Gothel [Thu, 18 Apr 2013 17:14:35 +0000 (19:14 +0200)]
Bug 718: WindowsBitmapWGLDrawable: Requires GLProfile.GL2, fix BITMAP GLCaps ASAP at Ctor instead of setRealized(true); WindowsWGLContext: Exclude ARB creation for BITMAP

Unit Test TestGLAutoDrawableFactoryGLnBitmapCapsNEWT added using BITMAP on GLProfile.getDefault()

Also:
  X11GLXContext, WindowsWGLContext: Cleanup formatting in createImpl(..)

4 years agotype: weather -> whether :) .. it's spring again :)
Sven Gothel [Thu, 18 Apr 2013 08:26:30 +0000 (10:26 +0200)]
type: weather -> whether :) .. it's spring again :)

4 years agoBug 718: Exclude updateGraphicsConfigurationARB(..) usage for BITMAP (Windows Vista...
Sven Gothel [Thu, 18 Apr 2013 07:56:49 +0000 (09:56 +0200)]
Bug 718: Exclude updateGraphicsConfigurationARB(..) usage for BITMAP (Windows Vista does report BITMAP w/ ARB PFD)

On Windows Vista machines, ARB PFD selection reports BITMAP which is attempted to be used.

Excluse updateGraphicsConfigurationARB(..) from BITMAP query, similar to getAvailableGLCapabilitiesARB()
from commit 61a47e07975eb2fd8b1f5f60552935c993a6eef6.

TODO: Re-evaluate commit db24615ebaebcda88ffb7275d3a60e6400226099

4 years agoBug 718: Further restriction of Windows BITMAP PFD's - RGB888 and !alpha only
Sven Gothel [Thu, 18 Apr 2013 06:39:57 +0000 (08:39 +0200)]
Bug 718: Further restriction of Windows BITMAP PFD's - RGB888 and !alpha only

On Windows Vista machines, using alpha, i.e. RGB8888 failed to SetPixelFormat(..),
hence only allow RGB888.

4 years agoBug 721: NEWT/X11 RandR 1.3 Support - Part 1 - Delegate RandR functionality to plugga...
Sven Gothel [Thu, 18 Apr 2013 06:31:11 +0000 (08:31 +0200)]
Bug 721: NEWT/X11 RandR 1.3 Support - Part 1 - Delegate RandR functionality to pluggable impl. for RandR 1.1 and 1.3 (todo)

4 years agoGLJPanel: setFocusable(true) at ctor to allow keyboard input
Sven Gothel [Thu, 18 Apr 2013 01:17:27 +0000 (03:17 +0200)]
GLJPanel: setFocusable(true) at ctor to allow keyboard input

4 years agoFix Bug 720: Unify all platform specific GLContextImpl specializations; Fix Bug 719...
Sven Gothel [Thu, 18 Apr 2013 01:16:33 +0000 (03:16 +0200)]
Fix Bug 720: Unify all platform specific GLContextImpl specializations; Fix Bug 719 - Windows BITMAP Offscreen Orientation is not propagated through API

Fix Bug 719 - Windows BITMAP Offscreen Orientation is not propagated through API
  Depends on Bug 720, since cleaning up GLContextImpl* is required to move
  property 'GLContext.isGLOrientationFlippedVertical()'
  to 'GLDrawable.isGLOriented()' where it belongs!

  Windows BITMAP GLDrawable impl. isGLOriented() shall return false,
  while we keep the BITMAPINFOHEADER's height field negative
  to remove the need for vertical flip when used w/ AWT or Windows, ..

  Then property 'GLDrawable.isGLOriented()' has to be recognized throughout the
  utility functions, i.e. TextureData's mustFlipVertically and hence TextureIO writer.

Fix Bug 720: Unify all platform specific GLContextImpl specializations
  GLContextImpl shall have only _one_ unique platform derivative
  to allow proper swapping of GLDrawables of any type via:
    - 'GLAutoDrawable.setContext(GLContext newCtx, boolean destroyPrevCtx)', which calls
    - 'GLContext.setGLDrawable(GLDrawable readWrite, boolean setWriteOnly)'

  Exception: External context may be specialized.

  All drawable specific property handling shall be provided
  and implemented (if possible) via GLDrawable specializations.

- GLContext.isGLOrientationFlippedVertical() -> GLDrawable.isGLOriented()
  - PNGImage.createFromData() takes 'isGLOriented' to properly handle vertical flipping simply by line ordering
  - TextureIO's PNG writer passes TextureData's getMustFlipVertically() as isGLOriented to PNGImage.createFromData()
  - GLReadBufferUtil respects GLDrawable's isGLOriented() when creating TextureData instance.
  - Screenshot respects GLDrawable's isGLOriented()

- Screenshot is deprecated, use GLReadBufferUtil.

- Removed all PBuffer attributes, i.e. floatingPoint, RenderToTexture and RenderToTextureRectangle.
   - Allows removal of special pbuffer handling in GLContext* implementations.
   - Removed also from GLCapabilities*
   - Removed from deprecated GLPbuffer

  Impact:
    - Low, users who desire to render into a texture shall use our FBO GLOffscreenDrawable.
    - Only use case was the deprecated GLPbuffer
    - floating point framebuffer technology is still patented anyways :)

- Removed Java2DGLContext, which was only used for OSX's GLJPanel Java2D bridge,
  which is no more supported anyways.

4 years agoGLJPanel.toString(): Avoid NPE
Sven Gothel [Wed, 17 Apr 2013 13:04:05 +0000 (15:04 +0200)]
GLJPanel.toString(): Avoid NPE

4 years agoBug 718: Windows BITMAP Offscreen Fails w/ GLCaps other than simple RGB888 - Filter...
Sven Gothel [Wed, 17 Apr 2013 13:03:46 +0000 (15:03 +0200)]
Bug 718: Windows BITMAP Offscreen Fails w/ GLCaps other than simple RGB888 - Filter invalid PFD configs

- Filter invalid PFD configs
  - WindowsBitmapWGLDrawable: Clip chosenCaps to RGBA888[0|8]
  - WindowsBitmapWGLDrawable: Only use BITMAPINFOHEADER.BiBitCount=24
  - WindowsWGLGraphicsConfiguration: Only allow GDI BITMAP PFD's w/ RGB888 w/ alpha <= red, others may fail

- WindowsWGLGraphicsConfigurationFactory.getAvailableGLCapabilities()
  - Fetch ARB caps w/o BITMAP
  - Concat GDI [BITMAP] caps

4 years ago*Capabilities: Cleanup string ctor; GLGraphicsConfigurationUtil: Clean getExclusiveWi...
Sven Gothel [Wed, 17 Apr 2013 12:57:24 +0000 (14:57 +0200)]
*Capabilities: Cleanup string ctor; GLGraphicsConfigurationUtil: Clean getExclusiveWinAttributeBits(..); WGLGLCapabilities: Add PFD2String(..)

4 years agoBug 718: Windows BITMAP Offscreen Fails w/ GLCaps other than simple RGB888 - Refine...
Sven Gothel [Wed, 17 Apr 2013 12:53:44 +0000 (14:53 +0200)]
Bug 718: Windows BITMAP Offscreen Fails w/ GLCaps other than simple RGB888 - Refine Unit Tests ; UITestCase.Snapshot: Add RGBA bits to filename.

Split TestGLAutoDrawableFactoryOffscrnCapsNEWT to
      TestGLAutoDrawableFactoryGL2OffscrnCapsNEWT and TestGLAutoDrawableFactoryES2OffscrnCapsNEWT

TestGLAutoDrawableFactoryGL2OffscrnCapsNEWT contains more 'Bitmap' tests of various caps, w/ snapshots.

4 years agoFix Bug 705 - Set Quirk DontCloseX11Display also if using X11 and X11Util has set...
Sven Gothel [Tue, 16 Apr 2013 04:19:08 +0000 (06:19 +0200)]
Fix Bug 705 - Set Quirk DontCloseX11Display also if using X11 and X11Util has set 'markAllDisplaysUnclosable' (Down -> Upstream)

4 years agoFix Bug 705 - Validated that Quirk DontCloseX11Display is not required w/ Mesa >...
Sven Gothel [Tue, 16 Apr 2013 04:03:24 +0000 (06:03 +0200)]
Fix Bug 705 - Validated that Quirk DontCloseX11Display is not required w/ Mesa >= 8.0

Tested w/ kubuntu 12.04, Mesa 8.0.4 (glx/dri/gallium and X11 SW rasterizer)

4 years agoFix Bug 705 - Cleanup & Generalize Commit 5b47372590ec715647ebbd75d70c41ec7a64485a...
Sven Gothel [Tue, 16 Apr 2013 03:50:55 +0000 (05:50 +0200)]
Fix Bug 705 - Cleanup & Generalize Commit 5b47372590ec715647ebbd75d70c41ec7a64485a ; Close X11 Display in isDeviceSupported()

- Moved GL vendor version parsing to GLVersionNumber

- Moved X11Util.markAllDisplaysUnclosable() trigger into SharedResource creation of
  - X11GLXDrawableFactory
  - EGLDrawableFactory

- GLProfile is back to pre 5b47372590ec715647ebbd75d70c41ec7a64485a,
  i.e. contains no quirk artifact (clean)

- Close X11 Display in X11GLXDrawableFactory.isDeviceSupported()
  Regression of 9a4fcc7ea4ec61e4ceed791acced734ac04ea270

- TODO: Remove X11Util markAllDisplaysUnclosable detection code ?

Notes to Martin:
  - Use TAB == 4 SPACES
  - No author names into source code, git commit log is enough.
  - No need to tag your edits, the diff is enough.

4 years agoFix Bug 705 - Make Mesa X11 driver < 8.0 use new Quirk DontCloseX11DisplayConnection
Martin Hegedus [Tue, 2 Apr 2013 16:31:41 +0000 (09:31 -0700)]
Fix Bug 705 - Make Mesa X11 driver < 8.0 use new Quirk DontCloseX11DisplayConnection

4 years agoMerge remote-tracking branch 'xranby/master'
Sven Gothel [Mon, 15 Apr 2013 13:17:34 +0000 (15:17 +0200)]
Merge remote-tracking branch 'xranby/master'

4 years agoFFMPEGMediaPlayer: Fix mpeg seek using time_base.num 1 , time_base.den 90000
Xerxes Rånby [Sun, 14 Apr 2013 23:54:24 +0000 (01:54 +0200)]
FFMPEGMediaPlayer: Fix mpeg seek using time_base.num 1 , time_base.den 90000

Prevent division and multiplication by zero errors in native code
after mpeg video seek caused by type truncation.

Signed-off-by: Xerxes Rånby <xerxes@zafena.se>

4 years agoBug 705: This is the version of displayMultiple02 which uses glXCreateNewContext...
Martin Hegedus [Sun, 14 Apr 2013 21:34:37 +0000 (23:34 +0200)]
Bug 705: This is the version of displayMultiple02 which uses glXCreateNewContext instead of glXCreateContext. X11 Error w/ Mesa 7.0

4 years agoBug 705: This is the version of displayMultiple02 which uses glXCreateNewContext...
Martin Hegedus [Sun, 14 Apr 2013 21:32:26 +0000 (23:32 +0200)]
Bug 705: This is the version of displayMultiple02 which uses glXCreateNewContext instead of glXCreateContext. Segmentation fault w/ Mesa 7.0

4 years agoFix Bug 692: Add tracking of VERTEX_ARRAY_BINDING, and enable allowing a bound non...
Sven Gothel [Sun, 14 Apr 2013 04:28:44 +0000 (06:28 +0200)]
Fix Bug 692: Add tracking of VERTEX_ARRAY_BINDING, and enable allowing a bound non default VAO to pass VBO enabled test, even if VBO is disabled.

VAO is available if: GL >= 3.0 or is having GL_ARB_vertex_array_object extension.

checkBufferObject(..) checks whether VERTEX_ARRAY_BINDING has a non default VAO bound in case
no VBO is being bound and VAO is allowed.

glBindVertexArray(int) is being tracked, i.e. on state VERTEX_ARRAY_BINDING

4 years agoBug 692: Add modified version of Edgar Velazquez-Armendariz's test case for testing...
Sven Gothel [Sun, 14 Apr 2013 04:24:03 +0000 (06:24 +0200)]
Bug 692: Add modified version of Edgar Velazquez-Armendariz's test case for testing alternating VAO and VBO usage.

Alternating VBO/VAO usage triggers bug 692, where our VBO enable check throws an exception:
  javax.media.opengl.GLException: element vertex_buffer_object must be enabled to call this method
        at jogamp.opengl.gl4.GL4bcImpl.checkBufferObject(GL4bcImpl.java:34318)
        at jogamp.opengl.gl4.GL4bcImpl.checkElementVBOEnabled(GL4bcImpl.java:34361)
        at jogamp.opengl.gl4.GL4bcImpl.glDrawElements(GL4bcImpl.java:4395)
        at javax.media.opengl.DebugGL3.glDrawElements(DebugGL3.java:1006)
        at com.jogamp.opengl.test.junit.jogl.acore.TestBug692GL3VAO$GL3VAODemo.displayVAONormal(TestBug692GL3VAO.java:254)

4 years agoGLES[12] Impl: Cleanup 'checkBufferObject(..)', remove unused and 'avail' argument...
Sven Gothel [Sun, 14 Apr 2013 03:53:44 +0000 (05:53 +0200)]
GLES[12] Impl: Cleanup 'checkBufferObject(..)', remove unused and 'avail' argument and 'initBufferObjectExtensionChecks()'

4 years agoNEWT/AWT-Wrapper-Driver: Fix MS-Windows Case (Use NativeWindow window handle); Use...
Sven Gothel [Sun, 14 Apr 2013 01:46:46 +0000 (03:46 +0200)]
NEWT/AWT-Wrapper-Driver: Fix MS-Windows Case (Use NativeWindow window handle); Use set size by frame only for OSX/CALayer

4 years agoNEWT/AWT: Fix 'AWT driver' to work w/ OSX CALayer ; WindowImpl: 'Object getWrappedWin...
Sven Gothel [Sat, 13 Apr 2013 06:15:21 +0000 (08:15 +0200)]
NEWT/AWT: Fix 'AWT driver' to work w/ OSX CALayer ; WindowImpl: 'Object 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.

4 years agoFBObject.init() uses safe 1x1 size like reset(..) to behave equal; GLFBODrawableImpl...
Sven Gothel [Fri, 12 Apr 2013 18:29:56 +0000 (20:29 +0200)]
FBObject.init() uses safe 1x1 size like reset(..) to behave equal; GLFBODrawableImpl.contextMadeCurrent(ctx, true): Throw exception if !initialized

4 years agoGLContextImpl: destroy(): Fix null drawable check; makeCurrentWithinLock(): Add drawa...
Sven Gothel [Fri, 12 Apr 2013 18:27:21 +0000 (20:27 +0200)]
GLContextImpl: destroy(): Fix null drawable check; makeCurrentWithinLock(): Add drawable size validation before attempt to create context; MacOSXCGLContext: Explicit exception for Null AttachGLLayerCmd.

GLContextImpl:
  - destroy():
    - Fix null drawable check
      Only if the GLContext isCreated(), we require a drawable to be set.

    - Proper name of associateDrawable Exception

  - makeCurrentWithinLock():
    - Add drawable size validation before attempt to create context.
      - 'makeCurrent()' shall never be called w/o proper sized drawable, i.e. > 0x0.
      - returns CONTEXT_NOT_CURRENT, if drawable size is <= 0x0

MacOSXCGLContext:

  - Explicit exception for Null AttachGLLayerCmd.
    In case context creation has failed via makeCurrent(),
    AttachGLLayerCmd may never been issued and hence maybe NULL.
    Catch this case and send a meaningful exception,
    which is catched and fwd in GLContext.destroy().

4 years agoBug 697: Fix commit 4db745e84fac610f85ab085e5c147e571e82e008 - Not compile clean...
Sven Gothel [Thu, 11 Apr 2013 06:03:39 +0000 (08:03 +0200)]
Bug 697: Fix commit 4db745e84fac610f85ab085e5c147e571e82e008 - Not compile clean! Also brought back my safe showCursor logic.

The code was not compile clean:
  - declaration after use w/o prototype!
  - missing var declaration 'success'!
  - 'pointerVisible=0', instead of 'wud->pointerVisible=0' var. not found!

Used my old safe show cursor logic, while removing the max count,
which was redundant, since we can check whether the counter moves
in the right direction.

4 years agoNEWT/WindowsWindow.c: Simplify pointerVisible branch for calling SafeShowCursor(..)
Sven Gothel [Thu, 11 Apr 2013 05:35:56 +0000 (07:35 +0200)]
NEWT/WindowsWindow.c: Simplify pointerVisible branch for calling SafeShowCursor(..)

4 years agoMerge remote-tracking branch 'gouessej/master'
Sven Gothel [Thu, 11 Apr 2013 05:30:12 +0000 (07:30 +0200)]
Merge remote-tracking branch 'gouessej/master'

4 years agoLinuxEventDeviceTracker: Reapply changes from commit b13868b612689307ebf4e46ee4ede2fd...
Sven Gothel [Thu, 11 Apr 2013 05:29:02 +0000 (07:29 +0200)]
LinuxEventDeviceTracker: Reapply changes from commit b13868b612689307ebf4e46ee4ede2fd0560e504, which got lost via my merge conflict resolution (duh).

4 years agoMerge remote-tracking branch 'xranby/NEWT-input'
Sven Gothel [Thu, 11 Apr 2013 05:21:27 +0000 (07:21 +0200)]
Merge remote-tracking branch 'xranby/NEWT-input'

Conflicts:
src/newt/classes/jogamp/newt/driver/linux/LinuxEventDeviceTracker.java

4 years agoMerge remote-tracking branch 'hharrison/master'
Sven Gothel [Thu, 11 Apr 2013 05:18:06 +0000 (07:18 +0200)]
Merge remote-tracking branch 'hharrison/master'

4 years agoNEWT KeyEvent: Use UTF-16 UniCode for key-code and key-symbol exposing well defined...
Sven Gothel [Thu, 11 Apr 2013 05:16:19 +0000 (07:16 +0200)]
NEWT KeyEvent: Use UTF-16 UniCode for key-code and key-symbol exposing well 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.

4 years agojogl: remove executable bit from some java files and a png
Harvey Harrison [Wed, 10 Apr 2013 05:00:47 +0000 (22:00 -0700)]
jogl: remove executable bit from some java files and a png

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>

4 years agoGLContextImpl.destroy(): Fail fast in case of invalid dawable [null, !realized] and...
Sven Gothel [Wed, 10 Apr 2013 02:08:57 +0000 (04:08 +0200)]
GLContextImpl.destroy(): Fail fast in case of invalid dawable [null, !realized] and makeCurrent() failure.

4 years agoGLDrawable: Refine API doc; GLDrawableImpl: Balance createHandle()/destroyHandle...
Sven Gothel [Wed, 10 Apr 2013 01:22:19 +0000 (03:22 +0200)]
GLDrawable: Refine API doc; GLDrawableImpl: Balance createHandle()/destroyHandle(); Handle LOCK_SURFACE_CHANGED in lockSurface() ; GLContextImpl.makeCurrent(): Fix drawable handle validation.

GLDrawable: Refine API doc (realized/handle)
  - Lifecycle of the drawable handle was not clear
  - Ephasizing handle's dependency on NativeSurface's lock state and drawable's realization

GLDrawableImpl: Balance createHandle()/destroyHandle()
  - updateHandle() -> createHandle()
  - ensure both are balance, see below

GLDrawableImpl: Handle LOCK_SURFACE_CHANGED in GLDrawableImpl's lockSurface()
  - call destroyHandle() and createHandle()

GLContextImpl.makeCurrent(): Validate drawable handle if realized only.
  - it is valid to have an invalid drawable handle if not realized (see above)

4 years agoDebug Messages: Unify getThreadName() usage and 'Catched Exception' messages
Sven Gothel [Wed, 10 Apr 2013 00:49:14 +0000 (02:49 +0200)]
Debug Messages: Unify getThreadName() usage and 'Catched Exception' messages

4 years agoLinuxEventDeviceTracker: ALT, ALT_GRAPH & CTRL modifiers.
Xerxes Rånby [Mon, 8 Apr 2013 20:03:53 +0000 (22:03 +0200)]
LinuxEventDeviceTracker: ALT, ALT_GRAPH & CTRL modifiers.

Signed-off-by: Xerxes Rånby <xerxes@zafena.se>

4 years agoLinuxEventDeviceTracker: 4 space indentation
Xerxes Rånby [Mon, 8 Apr 2013 14:28:49 +0000 (16:28 +0200)]
LinuxEventDeviceTracker: 4 space indentation

Signed-off-by: Xerxes Rånby <xerxes@zafena.se>

4 years agoLinuxEventDeviceTracker: shift-modifier
Xerxes Rånby [Mon, 8 Apr 2013 14:12:02 +0000 (16:12 +0200)]
LinuxEventDeviceTracker: shift-modifier

Signed-off-by: Xerxes Rånby <xerxes@zafena.se>

4 years agoFix Bug 703: Quaternion slerp function. Disclaimer: Not tested / No unit test.
Harvey Harrison [Mon, 8 Apr 2013 23:12:22 +0000 (01:12 +0200)]
Fix Bug 703: Quaternion slerp function. Disclaimer: Not tested / No unit test.

4 years agoBug 641 NEWT: Refine definition of keySym, i.e. for printable keys, keySym is the...
Sven Gothel [Mon, 8 Apr 2013 21:04:49 +0000 (23:04 +0200)]
Bug 641 NEWT: Refine definition of keySym, i.e. for printable keys, keySym is the 'unshifted' UTF-16 char value ; Add isPrintable() to toString().

4 years agoBug 641 NEWT/OSX Deliver keySym, derived from the current layout's lower-case UTF...
Sven Gothel [Mon, 8 Apr 2013 21:02:00 +0000 (23:02 +0200)]
Bug 641 NEWT/OSX Deliver keySym, derived from the current layout's lower-case UTF-16 character.

4 years agoNEWT KeyEvent: More tight definition of isPrintable(), i.e. must have defined keyCode...
Sven Gothel [Mon, 8 Apr 2013 20:45:22 +0000 (22:45 +0200)]
NEWT KeyEvent: More tight definition of isPrintable(), i.e. must have defined keyCode [and keyChar]; VK_KEYBOARD_INVISIBLE -> isActionKey

4 years agoNEWT/OSX: Remove USE_SENDIO_DIRECT conditional compilation, by now it's clear we...
Sven Gothel [Mon, 8 Apr 2013 19:57:10 +0000 (21:57 +0200)]
NEWT/OSX: Remove USE_SENDIO_DIRECT conditional compilation, by now it's clear we need to enqeue the events

4 years agoBug 641 NEWT/X11: Deliver 'J_VK_WINDOWS'; keySym is layout independent for dead-keys...
Sven Gothel [Mon, 8 Apr 2013 01:34:51 +0000 (03:34 +0200)]
Bug 641 NEWT/X11: Deliver 'J_VK_WINDOWS'; keySym is layout independent for dead-keys (zero keyChar); For 'unshifted' keySym's also unmask Ctrl and Mod* states

http://JogAmp.org git info: FAQ, tutorial and man pages.