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
25G_BEGIN_DECLS
26
27typedef struct _GdkChildInfoX11 GdkChildInfoX11;
28
29typedef void (*GdkSendXEventCallback) (Window window,
30 gboolean success,
31 gpointer data);
32typedef void (*GdkRoundTripCallback) (GdkDisplay *display,
33 gpointer data,
34 gulong serial);
35
36struct _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
48void _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
56gboolean _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
63void _gdk_x11_roundtrip_async (GdkDisplay *display,
64 GdkRoundTripCallback callback,
65 gpointer data);
66
67G_END_DECLS
68
69#endif /* __GDK_ASYNC_H__ */
70

source code of gtk/gdk/x11/gdkasync.h