> This is a continuation to > [JDK-8236651](https://bugs.openjdk.org/browse/JDK-8236651) and it aims to > stabilize the linux glass gtk backend. > > This is a refactor of the Glass GTK implementation, primarily focused on > window size, positioning, and state management to resolve numerous issues. > > The main change is that GtkWindow (which is a GtkWidget) has been replaced > with a direct use of GdkWindow for windows. This makes sense because GTK > includes its own rendering pipeline, whereas JavaFX renders directly to the > underlying system window (such as the X11 window) via Prism ES2 using GL and > GLX. Most GTK window-related calls have equivalent GDK calls. Since GDK > serves as an abstraction over the system window and input events, it aligns > better with the purposes of Glass. Additionally, using GTK required various > workarounds to integrate with Glass, which are no longer necessary when using > GDK directly. > > It uses a simple C++ Observable to notify the Java side about changes. This > approach is more straightforward, as notifications occur at many points and > the previous implementation was becoming cluttered. > > Previously, there were three separate context classes, two of which were used > for Java Web Start and Applets. These have now been unified, as they are no > longer required. > > Many tests were added to ensure everything is working correctly. I noticed > that some tests produced different results depending on the StageStyle, so > they now use @ParameterizedTest to vary the StageStyle. > > A manual test is also provided. I did not use MonkeyTester for this, as it > was quicker to simply run and test manually:`java @build/run.args > tests/manual/stage/TestStage.java ` > > While this is focused on XWayland, everything works on pure Xorg as well.
Thiago Milczarek Sayao has updated the pull request incrementally with one additional commit since the last revision: Remote assumeTrue for JDK-8364547 ------------- Changes: - all: https://git.openjdk.org/jfx/pull/1789/files - new: https://git.openjdk.org/jfx/pull/1789/files/fee7ca32..4aed85b2 Webrevs: - full: https://webrevs.openjdk.org/?repo=jfx&pr=1789&range=68 - incr: https://webrevs.openjdk.org/?repo=jfx&pr=1789&range=67-68 Stats: 4 lines in 1 file changed: 0 ins; 4 del; 0 mod Patch: https://git.openjdk.org/jfx/pull/1789.diff Fetch: git fetch https://git.openjdk.org/jfx.git pull/1789/head:pull/1789 PR: https://git.openjdk.org/jfx/pull/1789
