diff --git a/src/libei-device.c b/src/libei-device.c index 6df6d54..e7c9806 100644 --- a/src/libei-device.c +++ b/src/libei-device.c @@ -1673,14 +1673,11 @@ ei_touch_down(struct ei_touch *touch, double x, double y) return; } - struct ei_region *r; - list_for_each(r, &device->regions, link) { - if (!ei_region_contains(r, x, y)) { - log_bug_client(ei_device_get_context(device), - "%s: touch %u has invalid x/y coordinates", __func__, touch->tracking_id); - touch->state = TOUCH_IS_UP; - return; - } + if (!ei_device_in_region(device, x, y)) { + log_bug_client(ei_device_get_context(device), + "%s: touch %u has invalid x/y coordinates", __func__, touch->tracking_id); + touch->state = TOUCH_IS_UP; + return; } touch->state = TOUCH_IS_DOWN; @@ -1705,14 +1702,11 @@ ei_touch_motion(struct ei_touch *touch, double x, double y) return; } - struct ei_region *r; - list_for_each(r, &device->regions, link) { - if (!ei_region_contains(r, x, y)) { - log_bug_client(ei_device_get_context(device), - "%s: touch %u has invalid x/y coordinates", __func__, touch->tracking_id); - ei_touch_up(touch); - return; - } + if (!ei_device_in_region(device, x, y)) { + log_bug_client(ei_device_get_context(device), + "%s: touch %u has invalid x/y coordinates", __func__, touch->tracking_id); + ei_touch_up(touch); + return; } ei_send_touch_motion(touch->device, touch->tracking_id, x, y); diff --git a/src/libeis-device.c b/src/libeis-device.c index b38394b..61e2999 100644 --- a/src/libeis-device.c +++ b/src/libeis-device.c @@ -1041,12 +1041,8 @@ eis_device_pointer_motion_absolute(struct eis_device *device, if (device->state != EIS_DEVICE_STATE_EMULATING) return; - struct eis_region *r; - list_for_each(r, &device->regions, link) { - if (!eis_region_contains(r, x, y)) { - return; - } - } + if (!eis_device_in_region(device, x, y)) + return; device->send_frame_event = true; @@ -1263,14 +1259,11 @@ eis_touch_down(struct eis_touch *touch, double x, double y) return; } - struct eis_region *r; - list_for_each(r, &device->regions, link) { - if (!eis_region_contains(r, x, y)) { - log_bug_client(eis_device_get_context(device), - "%s: touch %u has invalid x/y coordinates", __func__, touch->tracking_id); - touch->state = TOUCH_IS_UP; - return; - } + if (!eis_device_in_region(device, x, y)) { + log_bug_client(eis_device_get_context(device), + "%s: touch %u has invalid x/y coordinates", __func__, touch->tracking_id); + touch->state = TOUCH_IS_UP; + return; } touch->state = TOUCH_IS_DOWN; @@ -1286,14 +1279,11 @@ eis_touch_motion(struct eis_touch *touch, double x, double y) return; struct eis_device *device = eis_touch_get_device(touch); - struct eis_region *r; - list_for_each(r, &device->regions, link) { - if (!eis_region_contains(r, x, y)) { - log_bug_client(eis_device_get_context(device), - "%s: touch %u has invalid x/y coordinates", __func__, touch->tracking_id); - eis_touch_up(touch); - return; - } + if (!eis_device_in_region(device, x, y)) { + log_bug_client(eis_device_get_context(device), + "%s: touch %u has invalid x/y coordinates", __func__, touch->tracking_id); + eis_touch_up(touch); + return; } device->send_frame_event = true;