On Thu, 13 Feb 2020 23:56:42 GMT, Kevin Rushforth <k...@openjdk.org> wrote:
>> **Code Changes** >> >> * glass_window.cpp / glass_window.h >> * Removed WindowContextPlug and WindowContextChild (that were used for >> applets / web start) and moved everything to >> one class named WindowContext (since inheritance was no required anymore) >> * Changed set_enabled() to use gtk_widget_set_sensitive instead of >> custom code; >> * Moved to gtk signals instead of gdk events (to use >> gtk_widget_set_sensitive and gtk_grab_add); >> * Frame Extents: Removed the code to request extents and gtk already >> does it by default; >> * Size calculation: Reworked size calculation code. In general, X >> windows are content size instead of whole window size (considering extents - >> frame decorations). OpenJfx uses "whole window size" as window sizes, so it >> requires a "hack" to recalculate sizes when set_bounds() is called with >> window sizes instead of content sizes. The rework was to simplify code paths >> and make it more straightforward. >> * Other Size calculation changes: >> * Use gtk_window_set_default_size() for initial size which is the >> appropriate function; >> * Gravity is now ignored as it is on Windows glass impl; >> * Avoid sending same sizes to Java; >> * Introduced calculate_adjustments() which is a fallback when frame >> extents is not present (it's optional to window managers to implement it); >> * Geometry: Min / Max sizes - reworked it to simplify / Concentrated >> geometry changes on >> apply_geometry(). >> * Mouse grab: Reworked it to use to correct functions according to gtk+ >> version; >> * Draw: Reworked it to use the correct calls accord to gtk+ version >> changes; >> * Fixed JDK-8237491; >> * Moved background code to paint() as gtk3 uses styles to set the >> background and other functions were deprecated; >> * Reorganized function order on glass_window.cpp to match glass_window.h >> >> >> * GlassCursor.cpp >> * Gtk+3 uses a name-like-css approach - so it was properly ported to >> gtk3 way; >> * Reworked Gtk+2 to use a function instead of manual calls to find the >> cursor; >> >> * GtkWindow.java >> * Moved the extents special case to native glass; >> >> * GlassApplication.cpp >> * Removed Gdk events where possible (it's now on glass_window as >> signals); >> * Removed applet/web start code; >> >> * GlassView.cpp >> * Changes to reflect frame extents rework on glass_window >> >> * GlassWindow.cpp >> * WindowContextTop -> WindowContext >> * Removed applet / web start code; >> * Removed frame extents (which is not called anymore due to >> GtkWindow.java change); >> >> * glass_general.cpp >> * Removed functions that became unused; >> * Added is_grab_disabled() that is used on glass_window >> >> * glass_window_ime.cpp >> * WindowContextTop -> WindowContext; >> >> * glass_dnd.cpp / glass_dnd.h >> * Ported to Gtk signals; >> * Use all possible image formats (supported by GdkPixbuf / OpenJfx) - >> .gif is now possible (for ex.); >> * Allow COMPOUND_TEXT; >> * Do not request content while dragging; >> * Reduce overall code size. > > This is going to need further discussion on the mailing list as indicated > above, so it is still premature to review it (i.e., it should still be > considered effectively a "WIP" until that discussion happens). Additionally, > this is a significant and risky change, so I'd like additional eyes on it > when we do get to the point of reviewing it. I have been testing this for several days on ubuntu 18.04 and it's working good. It pass system tests, runs Ensemble 8 and Scenebuilder. Will have to do some tests on 16.04. ------------- PR: https://git.openjdk.java.net/jfx/pull/77