GDK W32: Use layered windows

Desktop / GNOME / GTK - Руслан Ижбулатов [gmail.com] - 2 March 2016 15:42 UTC

Toplevels are now true layered windows that are moved, resized and repainted via UpdateLayeredWindow() API call. This achieves transparency without any extra effort, and prevents window size and window contents desychronization (bug 761629).

This also changes the way CSD windows are detected. We now use window decorations to detect CSDiness of a window, and to decide whether a window should be layered (CSD windows should be) or not.

Decorations are now stored in the window implementation, not as a quark-based property of the window-as-gobject.

https://bugzilla.gnome.org/show_bug.cgi?id=748872

c05f254 GDK W32: Use layered windows
gdk/win32/gdkevents-win32.c | 9 +-
gdk/win32/gdkprivate-win32.h | 2 +
gdk/win32/gdkwindow-win32.c | 315 +++++++++++++++++++++++++++++++++++++-----
gdk/win32/gdkwindow-win32.h | 30 ++++
4 files changed, 314 insertions(+), 42 deletions(-)

Upstream: git.gnome.org


  • Share