aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDrew DeVault <sir@cmpwn.com>2018-03-30 23:08:24 -0400
committerDrew DeVault <sir@cmpwn.com>2018-03-30 23:08:24 -0400
commit212b5039927842f22295c95f4e0a4f914b243194 (patch)
tree35bd1abb8daf181c9c550d0b551685caf5870e46
parent4b0fcde7781ec61d7d5035775a942112b70391a4 (diff)
Use wlr_surface_point_accepts_input
-rw-r--r--sway/input/cursor.c10
-rw-r--r--sway/tree/container.c9
2 files changed, 3 insertions, 16 deletions
diff --git a/sway/input/cursor.c b/sway/input/cursor.c
index b498a517..7390816f 100644
--- 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
index 8705edc7..746dbf1f 100644
--- 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;