summaryrefslogtreecommitdiff
path: root/gdk
diff options
context:
space:
mode:
authorJonas Ådahl <jadahl@gmail.com>2016-07-01 17:02:11 +0800
committerJonas Ådahl <jadahl@gmail.com>2016-08-25 12:31:40 +0800
commit643f0339238f1cd4d853a81d4cdb3e149d660ee8 (patch)
tree9bd89f0342649a7bceb90102c4bef057b70cbf26 /gdk
parentd2a80cd2353c95a9657387af37256ca8f1ad81f3 (diff)
downloadgtk+-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.c28
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 *