aboutsummaryrefslogtreecommitdiff
path: root/sway/tree
diff options
context:
space:
mode:
authoremersion <contact@emersion.fr>2018-07-02 23:06:44 +0100
committerRyan Dwyer <ryandwyer1@gmail.com>2018-08-18 10:39:38 +1000
commitb3ee9af0c837bcb48eb30021eaa42c882426e66a (patch)
tree8f2635471aaee001a51e11e922ddb01952ed0f55 /sway/tree
parentdb4b4935b38b778398170d083a693f82831f1936 (diff)
Add view_get_geometry
Diffstat (limited to 'sway/tree')
-rw-r--r--sway/tree/view.c44
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));