summaryrefslogtreecommitdiff
path: root/gdk/gdkwindow.c
diff options
context:
space:
mode:
authorBenjamin Otte <otte@redhat.com>2016-11-07 01:03:17 +0100
committerBenjamin Otte <otte@redhat.com>2016-11-07 01:03:17 +0100
commit3b93773add0bd3bc17b55a2ce458667693eb285e (patch)
treefc5b22e454ae80e343ac0af3109b5a9318e1ae1b /gdk/gdkwindow.c
parent24d0baec38545feaf3e73d536fe143547e8d7f90 (diff)
downloadgtk+-3b93773add0bd3bc17b55a2ce458667693eb285e.tar.gz
API: gdk: Add gdk_window_new_temp()
Your one stop shop for all those nasty hidden input-only windows.
Diffstat (limited to 'gdk/gdkwindow.c')
-rw-r--r--gdk/gdkwindow.c34
1 files changed, 34 insertions, 0 deletions
diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c
index 0d7a6d6f85..0db6270f1f 100644
--- a/gdk/gdkwindow.c
+++ b/gdk/gdkwindow.c
@@ -1365,6 +1365,40 @@ gdk_window_new_popup (GdkDisplay *display,
&attr,
GDK_WA_X | GDK_WA_Y);
}
+
+/**
+ * gdk_window_new_temp: (constructor)
+ * @display: the display to create the window on
+ *
+ * Creates a new toplevel temporary window. The window will be
+ * situated off-screen and not handle output.
+ *
+ * You most likely do not want to use this function.
+ *
+ * Returns: (transfer full): the new #GdkWindow
+ *
+ * Since: 3.90
+ **/
+GdkWindow *
+gdk_window_new_temp (GdkDisplay *display)
+{
+ GdkWindowAttr attr;
+
+ g_return_val_if_fail (GDK_IS_DISPLAY (display), NULL);
+
+ attr.event_mask = 0;
+ attr.wclass = GDK_INPUT_ONLY;
+ attr.x = -100;
+ attr.y = -100;
+ attr.width = 10;
+ attr.height = 10;
+ attr.window_type = GDK_WINDOW_TEMP;
+
+ return gdk_window_new (gdk_screen_get_root_window (gdk_display_get_default_screen (display)),
+ &attr,
+ GDK_WA_X | GDK_WA_Y);
+}
+
/**
* gdk_window_new_child: (constructor)
* @parent: the parent window