diff options
author | emersion <contact@emersion.fr> | 2018-07-02 23:06:44 +0100 |
---|---|---|
committer | Ryan Dwyer <ryandwyer1@gmail.com> | 2018-08-18 10:39:38 +1000 |
commit | b3ee9af0c837bcb48eb30021eaa42c882426e66a (patch) | |
tree | 8f2635471aaee001a51e11e922ddb01952ed0f55 /sway/tree | |
parent | db4b4935b38b778398170d083a693f82831f1936 (diff) |
Add view_get_geometry
Diffstat (limited to 'sway/tree')
-rw-r--r-- | sway/tree/view.c | 44 |
1 files changed, 14 insertions, 30 deletions
diff --git a/sway/tree/view.c b/sway/tree/view.c index 950494d8..fba0b52d 100644 --- a/sway/tree/view.c +++ b/sway/tree/view.c @@ -162,6 +162,20 @@ void view_get_constraints(struct sway_view *view, double *min_width, } } +void view_get_geometry(struct sway_view *view, struct wlr_box *box) { + if (view->surface == NULL) { + box->x = box->y = box->width = box->height = 0; + return; + } + if (view->impl->get_geometry) { + view->impl->get_geometry(view, box); + return; + } + box->x = box->y = 0; + box->width = view->surface->current.width; + box->height = view->surface->current.height; +} + uint32_t view_configure(struct sway_view *view, double lx, double ly, int width, int height) { if (view->impl->configure) { @@ -615,36 +629,6 @@ void view_unmap(struct sway_view *view) { view->surface = NULL; } -void view_update_position(struct sway_view *view, double lx, double ly) { - if (view->x == lx && view->y == ly) { - return; - } - container_damage_whole(view->swayc); - view->x = lx; - view->y = ly; - view->swayc->current.view_x = lx; - view->swayc->current.view_y = ly; - if (container_is_floating(view->swayc)) { - container_set_geometry_from_floating_view(view->swayc); - } - container_damage_whole(view->swayc); -} - -void view_update_size(struct sway_view *view, int width, int height) { - if (view->width == width && view->height == height) { - return; - } - container_damage_whole(view->swayc); - view->width = width; - view->height = height; - view->swayc->current.view_width = width; - view->swayc->current.view_height = height; - if (container_is_floating(view->swayc)) { - container_set_geometry_from_floating_view(view->swayc); - } - container_damage_whole(view->swayc); -} - static void view_subsurface_create(struct sway_view *view, struct wlr_subsurface *subsurface) { struct sway_view_child *child = calloc(1, sizeof(struct sway_view_child)); |