diff options
author | Jonas Ådahl <jadahl@gmail.com> | 2016-07-01 17:02:11 +0800 |
---|---|---|
committer | Jonas Ådahl <jadahl@gmail.com> | 2016-08-25 12:31:40 +0800 |
commit | 643f0339238f1cd4d853a81d4cdb3e149d660ee8 (patch) | |
tree | 9bd89f0342649a7bceb90102c4bef057b70cbf26 /gdk | |
parent | d2a80cd2353c95a9657387af37256ca8f1ad81f3 (diff) | |
download | gtk+-643f0339238f1cd4d853a81d4cdb3e149d660ee8.tar.gz |
wayland: Move window geometry calculation to helper
We'll use it from more places later.
https://bugzilla.gnome.org/show_bug.cgi?id=769937
Diffstat (limited to 'gdk')
-rw-r--r-- | gdk/wayland/gdkwindow-wayland.c | 28 |
1 files changed, 21 insertions, 7 deletions
diff --git a/gdk/wayland/gdkwindow-wayland.c b/gdk/wayland/gdkwindow-wayland.c index f1f00987e4..7dd451b3b0 100644 --- a/gdk/wayland/gdkwindow-wayland.c +++ b/gdk/wayland/gdkwindow-wayland.c @@ -1056,20 +1056,34 @@ gdk_wayland_window_sync_title (GdkWindow *window) } static void +gdk_wayland_window_get_window_geometry (GdkWindow *window, + GdkRectangle *geometry) +{ + GdkWindowImplWayland *impl = GDK_WINDOW_IMPL_WAYLAND (window->impl); + + *geometry = (GdkRectangle) { + .x = impl->margin_left, + .y = impl->margin_top, + .width = window->width - (impl->margin_left + impl->margin_right), + .height = window->height - (impl->margin_top + impl->margin_bottom) + }; +} + +static void gdk_wayland_window_sync_margin (GdkWindow *window) { GdkWindowImplWayland *impl = GDK_WINDOW_IMPL_WAYLAND (window->impl); - gint x, y, width, height; + GdkRectangle geometry; if (!impl->display_server.xdg_surface) return; - x = impl->margin_left; - y = impl->margin_top; - width = window->width - (impl->margin_left + impl->margin_right); - height = window->height - (impl->margin_top + impl->margin_bottom); - - xdg_surface_set_window_geometry (impl->display_server.xdg_surface, x, y, width, height); + gdk_wayland_window_get_window_geometry (window, &geometry); + xdg_surface_set_window_geometry (impl->display_server.xdg_surface, + geometry.x, + geometry.y, + geometry.width, + geometry.height); } static struct wl_region * |