gdk: add API to convert coords between parent and child windows

which also works for offscreen windows and their embedder.
Also add gdk_window_get_effective_parent() and
gdk_window_get_effective_toplevel() which are offscreen aware.
This commit is contained in:
Michael Natterer
2010-04-15 12:59:44 +02:00
parent 615f91dadd
commit 5a52d2a2f0
3 changed files with 237 additions and 19 deletions

View File

@ -546,6 +546,16 @@ void gdk_window_get_root_coords (GdkWindow *window,
gint y,
gint *root_x,
gint *root_y);
void gdk_window_coords_to_parent (GdkWindow *window,
gdouble x,
gdouble y,
gdouble *parent_x,
gdouble *parent_y);
void gdk_window_coords_from_parent (GdkWindow *window,
gdouble parent_x,
gdouble parent_y,
gdouble *x,
gdouble *y);
#if !defined (GDK_DISABLE_DEPRECATED) || defined (GTK_COMPILATION) || defined (GDK_COMPILATION)
/* Used by gtk_handle_box_button_changed () */
@ -566,6 +576,9 @@ GdkWindow* gdk_window_get_pointer (GdkWindow *window,
GdkWindow * gdk_window_get_parent (GdkWindow *window);
GdkWindow * gdk_window_get_toplevel (GdkWindow *window);
GdkWindow * gdk_window_get_effective_parent (GdkWindow *window);
GdkWindow * gdk_window_get_effective_toplevel (GdkWindow *window);
GList * gdk_window_get_children (GdkWindow *window);
GList * gdk_window_peek_children (GdkWindow *window);
GdkEventMask gdk_window_get_events (GdkWindow *window);