Function to get a range of information about all the children of a window

Fri Jul  4 23:49:22 2003  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkasync.[ch] (_gdk_x11_get_window_child_info):
        Function to get a range of information about all the
        children of a window in a single pass.

        * gdk/x11/gdkdnd-x11.c (get_client_window_at_coords_recurse)
        gdk/x11/gdkdnd-x11.c (gdk_window_cache_new): Use
        _gdk_x11_get_window_child_info() to greatly reduce
        the number of roundtrips.
This commit is contained in:
Owen Taylor
2003-07-05 04:22:06 +00:00
committed by Owen Taylor
parent 60149b3275
commit 58a7f9f72a
8 changed files with 431 additions and 87 deletions

View File

@ -26,11 +26,25 @@
G_BEGIN_DECLS
typedef struct _GdkChildInfoX11 GdkChildInfoX11;
typedef void (*GdkSendXEventCallback) (Window window,
gboolean success,
gpointer data);
void _gdk_send_xevent_async (GdkDisplay *display,
struct _GdkChildInfoX11
{
Window window;
gint x;
gint y;
gint width;
gint height;
guint is_mapped : 1;
guint has_wm_state : 1;
guint window_class : 2;
};
void _gdk_x11_send_xevent_async (GdkDisplay *display,
Window window,
gboolean propagate,
glong event_mask,
@ -42,6 +56,12 @@ void _gdk_x11_set_input_focus_safe (GdkDisplay *display,
int revert_to,
Time time);
gboolean _gdk_x11_get_window_child_info (GdkDisplay *display,
Window window,
gboolean get_wm_state,
GdkChildInfoX11 **children,
guint *nchildren);
G_END_DECLS
#endif /* __GDK_ASYNC_H__ */