sway

i3-compatible Wayland compositor
git clone https://git.awy.one/sway
Log | Files | Refs | README | LICENSE

commit 212b5039927842f22295c95f4e0a4f914b243194
parent 4b0fcde7781ec61d7d5035775a942112b70391a4
Author: Drew DeVault <sir@cmpwn.com>
Date:   Fri, 30 Mar 2018 23:08:24 -0400

Use wlr_surface_point_accepts_input

Diffstat:
Msway/input/cursor.c | 10+---------
Msway/tree/container.c | 9++-------
2 files changed, 3 insertions(+), 16 deletions(-)

diff --git a/sway/input/cursor.c b/sway/input/cursor.c @@ -30,16 +30,8 @@ static struct wlr_surface *layer_surface_at(struct sway_output *output, sway_layer->layer_surface->surface; double _sx = ox - sway_layer->geo.x; double _sy = oy - sway_layer->geo.y; - struct wlr_box box = { - .x = sway_layer->geo.x, - .y = sway_layer->geo.y, - .width = wlr_surface->current->width, - .height = wlr_surface->current->height, - }; // TODO: Test popups/subsurfaces - if (wlr_box_contains_point(&box, ox, oy) && - pixman_region32_contains_point( - &wlr_surface->current->input, _sx, _sy, NULL)) { + if (wlr_surface_point_accepts_input(wlr_surface, _sx, _sy)) { *sx = _sx; *sy = _sy; return wlr_surface; diff --git a/sway/tree/container.c b/sway/tree/container.c @@ -290,8 +290,6 @@ struct sway_container *container_at(struct sway_container *parent, double oy = ly - output_box->y; double view_sx = ox - swayc->x; double view_sy = oy - swayc->y; - int width = swayc->sway_view->surface->current->width; - int height = swayc->sway_view->surface->current->height; switch (sview->type) { case SWAY_WL_SHELL_VIEW: @@ -333,11 +331,8 @@ struct sway_container *container_at(struct sway_container *parent, return swayc; } - if (view_sx > 0 && view_sx < width && - view_sy > 0 && view_sy < height && - pixman_region32_contains_point( - &sview->surface->current->input, - view_sx, view_sy, NULL)) { + if (wlr_surface_point_accepts_input( + sview->surface, view_sx, view_sy)) { *sx = view_sx; *sy = view_sy; *surface = swayc->sway_view->surface;