W32: Implement rudimentary WM_NCHITTEST handling

Desktop / GNOME / GTK - Руслан Ижбулатов [gmail.com] - 28 July 2014 20:31 UTC

Use (cairo) input shape of the window to check whether a point is inside or not inside the window. If it is, let the default window procedure do its thing (which seems to be working all right in all known cases). If it isn't, override the default window procedure and tell WM what we think.

Don't do any of the above if the window has CSD-incompatible styles (WS_BORDER or WS_THICKFRAME).

This is a crude kind of substitute for window input shape support (which W32 does not seem to have). Still probably enough to be positive about input shapes support.

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

a23c29c W32: Implement rudimentary WM_NCHITTEST handling
gdk/win32/gdkdisplay-win32.c | 7 ++-----
gdk/win32/gdkevents-win32.c | 45 ++++++++++++++++++++++++++++++++++++++++++
gdk/win32/gdkwindow-win32.c | 5 ++---
3 files changed, 49 insertions(+), 8 deletions(-)

Upstream: git.gnome.org


  • Share