summaryrefslogtreecommitdiff
path: root/gdk/gdkwindow.h
diff options
context:
space:
mode:
authorAlexander Larsson <alexl@redhat.com>2015-06-08 15:36:43 +0200
committerAlexander Larsson <alexl@redhat.com>2015-06-15 10:56:45 +0200
commit4c3eece6638aa36fbcd8379109dcb4e27323a306 (patch)
treec84c9e853bef2325b9402253423f9960bab88610 /gdk/gdkwindow.h
parentccc4b192ec994ee06817fbf19ff8c662be8d995a (diff)
downloadgtk+-4c3eece6638aa36fbcd8379109dcb4e27323a306.tar.gz
gdk: Add gdk_window_set_pass_through
An pass_through window is something you can draw in but does not affect event handling. Normally if a window has with no event mask set for a particular event then input events in it go to its parent window (X11 semantics), whereas if pass_through is enabled the window below the window will get the event. The later mode is useful when the window is partially transparent. Note that an pass-through windows can have child windows that are not pass-through so they can still get events on some parts. Semantically, this behaves the same as an regular window with gdk_window_set_child_input_shapes() called on it (and re-called any time a child is changed), but its far more efficient and easy to use. This allows us to fix the testoverlay input stacking test. https://bugzilla.gnome.org/show_bug.cgi?id=750568 https://bugs.freedesktop.org/show_bug.cgi?id=90917
Diffstat (limited to 'gdk/gdkwindow.h')
-rw-r--r--gdk/gdkwindow.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/gdk/gdkwindow.h b/gdk/gdkwindow.h
index ad5e88cc14..b42f9dfe93 100644
--- a/gdk/gdkwindow.h
+++ b/gdk/gdkwindow.h
@@ -654,6 +654,12 @@ GDK_AVAILABLE_IN_ALL
void gdk_window_merge_child_input_shapes (GdkWindow *window);
+GDK_AVAILABLE_IN_3_18
+void gdk_window_set_pass_through (GdkWindow *window,
+ gboolean pass_through);
+GDK_AVAILABLE_IN_3_18
+gboolean gdk_window_get_pass_through (GdkWindow *window);
+
/*
* Check if a window has been shown, and whether all its
* parents up to a toplevel have been shown, respectively.