gdk: Make gdk_surface_move_to_rect public

This is the API used by GtkMenu to properly position menus on the screen
without requiring GTK to query the menu window's position or the work
area of where the window is positioned. It makes it possible to position
popup windows properly when using Wayland.

Make this API available to external users so custom popup windows can be
positioned properly as well.

Related: https://gitlab.gnome.org/GNOME/gtk/issues/997
This commit is contained in:
Jonas Ådahl 2018-06-05 17:46:34 +02:00
parent 5c24bbf00c
commit c0e1044d5c
3 changed files with 9 additions and 10 deletions

View File

@ -20,14 +20,6 @@ void gdk_surface_thaw_toplevel_updates (GdkSurface *surface);
gboolean gdk_surface_supports_edge_constraints (GdkSurface *surface);
void gdk_surface_move_to_rect (GdkSurface *surface,
const GdkRectangle *rect,
GdkGravity rect_anchor,
GdkGravity surface_anchor,
GdkAnchorHints anchor_hints,
gint rect_anchor_dx,
gint rect_anchor_dy);
GObject * gdk_event_get_user_data (const GdkEvent *event);
guint32 gdk_display_get_last_seen_time (GdkDisplay *display);

View File

@ -3055,8 +3055,6 @@ gdk_surface_move_resize (GdkSurface *surface,
*
* Connect to the #GdkSurface::moved-to-rect signal to find out how it was
* actually positioned.
*
* Stability: Private
*/
void
gdk_surface_move_to_rect (GdkSurface *surface,

View File

@ -486,6 +486,15 @@ void gdk_surface_move_resize (GdkSurface *surface,
gint width,
gint height);
GDK_AVAILABLE_IN_ALL
void gdk_surface_move_to_rect (GdkSurface *surface,
const GdkRectangle *rect,
GdkGravity rect_anchor,
GdkGravity surface_anchor,
GdkAnchorHints anchor_hints,
gint rect_anchor_dx,
gint rect_anchor_dy);
GDK_AVAILABLE_IN_ALL
void gdk_surface_raise (GdkSurface *surface);
GDK_AVAILABLE_IN_ALL
void gdk_surface_lower (GdkSurface *surface);