| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
changed ; Enhanced tests; Catch NV/XRANDR/GL bug
X11 fixes
- X11Screen properly uses it's display's connection
decorated in lock/unlock (for ScreenMode etc)
Ensure Screen's size is set if screenMode changed
- ScreenImpl's ScreenModeListener updates it's screen size
so 'external' changes will be detected.
Enhanced tests
- Verify more data rel. ScreenMode
Catch NV/XRANDR/GL bug
- Read TestScreenMode01NEWT/TestScreenMode01bNEWT comments
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(due to recreation) ; NEWT/Window: Remove isValid() API entry - always true!
Destruction of GLAutoDrawable shall not remove them from AnimatorControl (due to recreation)
- Completes commit b65e1e76d413b70e5593173e6bd36d30675554a6
- WindowImpl:
- volatile: windowHandle/visible fields (memeory sync critical)
- destroy must set visible := false, to avoid immediate recreation via
a display call of another thread, ie an animator.
NEWT/Window: Remove isValid() API entry - always true!
- NEWT/Window's can always be recreated.
- redundancy in API is even worse than redundancy in impl. :)
|
| |
|
|
|
|
| |
child invisible again
|
|
|
|
|
|
|
| |
Completes fix 2934c9814daf7ae053c3f03957961a2e62125aee
Turns out it's more safe to send out the resize events to the listener,
since the native event messaging is not reliable in some cases.
|
|
|
|
| |
ScreenMode Change
|
| |
|
|
|
|
| |
make NEWT child invisible (?)
|
|
|
|
| |
recreation is possible
|
|
|
|
|
|
|
|
|
|
|
|
| |
- don't assume size/pos change - hence don't set window's values, but wait for satisfaction
- don't send resize events on our own, just rely on the event mechanism
- fullscreen: don't wrap action around invisibility from Java, Win7 flashes otherwise.
Clients who benefit from it (X11) impl. it natively.
- fullscreen exit: validate pos/size in case of a child window, like reparenting.
Otherwise the container might gets confused (eg. AWT).
|
|
|
|
|
|
|
|
|
| |
On X11 use Thread.sleep(), more cooperative.
In case newMode == currentMode, this caused an error,
since X11 would never receive mode change events.
Thread.sleep() is nicer for the X11/WM .. cooperative multitasking :)
|
|
|
|
| |
no reason to supress this information, it's sent only once (like X11)
|
|
|
|
| |
redundant DBG_PRINT on _NET_FRAME_EXTENTS
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
See commit 9ed513e9a9616f6028084df4c650c8caf31ea49d (bug 502)
Since we cannot close Display connections (X11/AMD), at least we reuse them
to not bloat the memory for long term applications
|
|
|
|
|
|
| |
Sync User-Lifecycle:
Display, Screen: createNative(), destroy(), isNativeValid()
sync on instance (used by multiple threads)
|
|
|
|
| |
instead of on-the-fly temp one
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
WindowImpl::reconfigureWindowImpl
Implement proper Inset usage (window decoration size)
- Insets are either polled (updateInsets()) or event driven (insetsChanged())
- Insets are used for size/pos calculations from Java side
- Natural size/pos in NEWT is client-area, ie w/o Insets
- Adding setTopLevelPosition()/setTopLevelSize() for top-level values,
ie including insets
WindowImpl::reconfigureWindowImpl
- Use flags to pass down the requested action to the native implementation
- Impl. all native actions: visible, decoration, reparent, resize, fullscreen
- Always use size/pos in client-area space, impl. shall use Insets to tranform them
- Remove double-setting of (reparent/fullscreen), which where introduced due to buggy impl. code
- Fix return from fullscreen position: Was overwritten with FS position (0/0)
- Fix decoration change: Remove visible toggle - not required, and actually disturbing
X11Windows/WindowsWindow: Added/Fixed Insets impl.
Tests (manual):
- TestSharedContextVBOES2NEWT utilizies proper window layout using Insets
- TestParenting03bAWT uses window layout for reparenting
|
|
|
|
| |
Completes commit d4670328991c02a6f11f8873ea7a2331f17d0ef0
|
|
|
|
| |
write access
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
see commit 3ea949b6a14c1ba631cb41b7439af86b21db4c05
|
|
|
|
|
|
|
| |
https://jogamp.org/bugzilla/show_bug.cgi?id=517
- Adding some Windows DWM entries to GDI (manual) for translucency support
- Add translucency setting in WindowsWGLGraphicsConfiguration*
|
|
|
|
|
|
|
|
|
| |
Capabilities
setBackgroundOpaque -> setAlphaBits
GLCapabilities
setOnscreen <-> setPBuffer
setSampleBuffers -> setAlphaBits
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
DefaultGLCapabilitiesChooser:
- Add penalty for opaque mismatch: dbl-buf > opaq > stencil
GLGraphicsConfigurationFactory:
- Case no-chooser && has-recommended-idx:
- Only use recommended index if caps is opaque,
otherwise use default chooser to validate translucency
NativeWindow Capabilities:
- transparent default values -> 0
Added NEWT Test: TestTranslucencyNEWT
Added command line translucency/undecorated options for TestGearsES2NEWT
|
|
|
|
| |
setUndecorated(true) if Capabilities !isBackgroundOpaque(). The original manual logic allows better control
|
|
|
|
| |
'alphaMask' cfg
|
| |
|
|
|
|
| |
undecorated window)
|
|
|
|
|
|
|
|
|
|
| |
glGetIntegerv(GL_MAJOR_VERSION|GL_MINOR_VERSION)
Status (Using 4.2 beta driver):
- Windows NV: Created and verified
- Linux AMD: Creates even non existing ones, 4.2 (available) verification returns 0.0
- Linux NV: Created but verification fails, returns 0.0
|
| |
|
| |
|
|
|
|
| |
flickering
|
| |
|
|
|
|
|
|
|
|
|
| |
checks; Use swapInterval ; RedSquareES2 use VBO
RedSquareES2 use VBO.
- On Windows/NV we had to re-issue (pass down to GPU) the vertex attribute data (vertex/color),
otherwise glDrawArrays crashes .. Probably a GL impl. bug.
Hence we use VBO to minimize the data upload.
|
|
|
|
|
|
|
| |
-> 0x0
Windows: setPosition was invoking setSize (new size propagation) even w/ nop size,
let WM event wmSize invoke setSize.
|
| |
|
| |
|
| |
|
|
|
|
| |
Windows/NV)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
NativeCode:
"XChangeProperty( dpy, w, _NET_WM_STATE, XA_ATOM, 32, PropModeReplace, [ FULLSCREEN, ABOVE ] .."
shall only be issued if entering FS, otherwise [ FULLSCREEN, ABOVE ] will be set on the client
side at leaving FS, which is not intended.
This caused a size reset to fullscreen size/mode.
WindowImpl:
Used WindowImpl.this.width and WindowImpl.this.height, where w and h should be used,
the FS and pre-FS values.
|