1 /* GTK - The GIMP Toolkit 2 * gdkasync.h: Utility functions using the Xlib asynchronous interfaces 3 * Copyright (C) 2003, Red Hat, Inc. 4 * 5 * This library is free software; you can redistribute it and/or 6 * modify it under the terms of the GNU Lesser General Public 7 * License as published by the Free Software Foundation; either 8 * version 2 of the License, or (at your option) any later version. 9 * 10 * This library is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 * Lesser General Public License for more details. 14 * 15 * You should have received a copy of the GNU Lesser General Public 16 * License along with this library. If not, see <http://www.gnu.org/licenses/>. 17 */ 18 19 #ifndef __GDK_ASYNC_H__ 20 #define __GDK_ASYNC_H__ 21 22 #include "gdkdisplay.h" 23 #include <X11/Xlib.h> 24 25 G_BEGIN_DECLS 26 27 typedef struct _GdkChildInfoX11 GdkChildInfoX11; 28 29 typedef void (*GdkSendXEventCallback) (Window window, 30 gboolean success, 31 gpointer data); 32 typedef void (*GdkRoundTripCallback) (GdkDisplay *display, 33 gpointer data, 34 gulong serial); 35 36 struct _GdkChildInfoX11 37 { 38 Window window; 39 int x; 40 int y; 41 int width; 42 int height; 43 guint is_mapped : 1; 44 guint has_wm_state : 1; 45 guint window_class : 2; 46 }; 47 48 void _gdk_x11_send_client_message_async (GdkDisplay *display, 49 Window window, 50 gboolean propagate, 51 glong event_mask, 52 XClientMessageEvent *event_send, 53 GdkSendXEventCallback callback, 54 gpointer data); 55 56 gboolean _gdk_x11_get_window_child_info (GdkDisplay *display, 57 Window window, 58 gboolean get_wm_state, 59 gboolean *win_has_wm_state, 60 GdkChildInfoX11 **children, 61 guint *nchildren); 62 63 void _gdk_x11_roundtrip_async (GdkDisplay *display, 64 GdkRoundTripCallback callback, 65 gpointer data); 66 67 G_END_DECLS 68 69 #endif /* __GDK_ASYNC_H__ */ 70