aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--backend/libinput/touch.c16
-rw-r--r--backend/wayland/seat.c23
-rw-r--r--backend/x11/input_device.c12
-rw-r--r--examples/pointer.c12
-rw-r--r--examples/touch.c6
-rw-r--r--include/wlr/types/wlr_touch.h16
-rw-r--r--types/wlr_cursor.c8
7 files changed, 48 insertions, 45 deletions
diff --git a/backend/libinput/touch.c b/backend/libinput/touch.c
index fba3d568..1475a03e 100644
--- a/backend/libinput/touch.c
+++ b/backend/libinput/touch.c
@@ -32,8 +32,8 @@ void handle_touch_down(struct libinput_event *event,
struct wlr_touch *touch) {
struct libinput_event_touch *tevent =
libinput_event_get_touch_event(event);
- struct wlr_event_touch_down wlr_event = { 0 };
- wlr_event.device = &touch->base;
+ struct wlr_touch_down_event wlr_event = { 0 };
+ wlr_event.touch = touch;
wlr_event.time_msec =
usec_to_msec(libinput_event_touch_get_time_usec(tevent));
wlr_event.touch_id = libinput_event_touch_get_seat_slot(tevent);
@@ -46,8 +46,8 @@ void handle_touch_up(struct libinput_event *event,
struct wlr_touch *touch) {
struct libinput_event_touch *tevent =
libinput_event_get_touch_event(event);
- struct wlr_event_touch_up wlr_event = { 0 };
- wlr_event.device = &touch->base;
+ struct wlr_touch_up_event wlr_event = { 0 };
+ wlr_event.touch = touch;
wlr_event.time_msec =
usec_to_msec(libinput_event_touch_get_time_usec(tevent));
wlr_event.touch_id = libinput_event_touch_get_seat_slot(tevent);
@@ -58,8 +58,8 @@ void handle_touch_motion(struct libinput_event *event,
struct wlr_touch *touch) {
struct libinput_event_touch *tevent =
libinput_event_get_touch_event(event);
- struct wlr_event_touch_motion wlr_event = { 0 };
- wlr_event.device = &touch->base;
+ struct wlr_touch_motion_event wlr_event = { 0 };
+ wlr_event.touch = touch;
wlr_event.time_msec =
usec_to_msec(libinput_event_touch_get_time_usec(tevent));
wlr_event.touch_id = libinput_event_touch_get_seat_slot(tevent);
@@ -72,8 +72,8 @@ void handle_touch_cancel(struct libinput_event *event,
struct wlr_touch *touch) {
struct libinput_event_touch *tevent =
libinput_event_get_touch_event(event);
- struct wlr_event_touch_cancel wlr_event = { 0 };
- wlr_event.device = &touch->base;
+ struct wlr_touch_cancel_event wlr_event = { 0 };
+ wlr_event.touch = touch;
wlr_event.time_msec =
usec_to_msec(libinput_event_touch_get_time_usec(tevent));
wlr_event.touch_id = libinput_event_touch_get_seat_slot(tevent);
diff --git a/backend/wayland/seat.c b/backend/wayland/seat.c
index 9659efc3..261da909 100644
--- a/backend/wayland/seat.c
+++ b/backend/wayland/seat.c
@@ -140,40 +140,43 @@ static void touch_handle_down(void *data, struct wl_touch *wl_touch,
uint32_t serial, uint32_t time, struct wl_surface *surface,
int32_t id, wl_fixed_t x, wl_fixed_t y) {
struct wlr_wl_seat *seat = data;
+ struct wlr_touch *touch = &seat->wlr_touch;
- struct wlr_event_touch_down event = {
- .device = &seat->wlr_touch.base,
+ struct wlr_touch_down_event event = {
+ .touch = touch,
.time_msec = time,
.touch_id = id,
};
touch_coordinates_to_absolute(seat, x, y, &event.x, &event.y);
- wlr_signal_emit_safe(&seat->wlr_touch.events.down, &event);
+ wlr_signal_emit_safe(&touch->events.down, &event);
}
static void touch_handle_up(void *data, struct wl_touch *wl_touch,
uint32_t serial, uint32_t time, int32_t id) {
struct wlr_wl_seat *seat = data;
+ struct wlr_touch *touch = &seat->wlr_touch;
- struct wlr_event_touch_up event = {
- .device = &seat->wlr_touch.base,
+ struct wlr_touch_up_event event = {
+ .touch = touch,
.time_msec = time,
.touch_id = id,
};
- wlr_signal_emit_safe(&seat->wlr_touch.events.up, &event);
+ wlr_signal_emit_safe(&touch->events.up, &event);
}
static void touch_handle_motion(void *data, struct wl_touch *wl_touch,
uint32_t time, int32_t id, wl_fixed_t x, wl_fixed_t y) {
struct wlr_wl_seat *seat = data;
- struct wlr_input_device *device = &seat->wlr_touch.base;
+ struct wlr_touch *touch = &seat->wlr_touch;
- struct wlr_event_touch_motion event = {
- .device = device,
+ struct wlr_touch_motion_event event = {
+ .touch = touch,
.time_msec = time,
.touch_id = id,
};
+
touch_coordinates_to_absolute(seat, x, y, &event.x, &event.y);
- wlr_signal_emit_safe(&seat->wlr_touch.events.motion, &event);
+ wlr_signal_emit_safe(&touch->events.motion, &event);
}
static void touch_handle_frame(void *data, struct wl_touch *wl_touch) {
diff --git a/backend/x11/input_device.c b/backend/x11/input_device.c
index dac867f9..d1f5c2c1 100644
--- a/backend/x11/input_device.c
+++ b/backend/x11/input_device.c
@@ -70,8 +70,8 @@ static void send_pointer_position_event(struct wlr_x11_output *output,
static void send_touch_down_event(struct wlr_x11_output *output,
int16_t x, int16_t y, int32_t touch_id, xcb_timestamp_t time) {
- struct wlr_event_touch_down ev = {
- .device = &output->touch.base,
+ struct wlr_touch_down_event ev = {
+ .touch = &output->touch,
.time_msec = time,
.x = (double)x / output->wlr_output.width,
.y = (double)y / output->wlr_output.height,
@@ -83,8 +83,8 @@ static void send_touch_down_event(struct wlr_x11_output *output,
static void send_touch_motion_event(struct wlr_x11_output *output,
int16_t x, int16_t y, int32_t touch_id, xcb_timestamp_t time) {
- struct wlr_event_touch_motion ev = {
- .device = &output->touch.base,
+ struct wlr_touch_motion_event ev = {
+ .touch = &output->touch,
.time_msec = time,
.x = (double)x / output->wlr_output.width,
.y = (double)y / output->wlr_output.height,
@@ -96,8 +96,8 @@ static void send_touch_motion_event(struct wlr_x11_output *output,
static void send_touch_up_event(struct wlr_x11_output *output,
int32_t touch_id, xcb_timestamp_t time) {
- struct wlr_event_touch_up ev = {
- .device = &output->touch.base,
+ struct wlr_touch_up_event ev = {
+ .touch = &output->touch,
.time_msec = time,
.touch_id = touch_id,
};
diff --git a/examples/pointer.c b/examples/pointer.c
index d1dab770..1197386e 100644
--- a/examples/pointer.c
+++ b/examples/pointer.c
@@ -168,7 +168,7 @@ static void handle_cursor_axis(struct wl_listener *listener, void *data) {
static void handle_touch_up(struct wl_listener *listener, void *data) {
struct sample_state *sample = wl_container_of(listener, sample, touch_up);
- struct wlr_event_touch_up *event = data;
+ struct wlr_touch_up_event *event = data;
struct touch_point *point, *tmp;
wl_list_for_each_safe(point, tmp, &sample->touch_points, link) {
@@ -178,25 +178,25 @@ static void handle_touch_up(struct wl_listener *listener, void *data) {
}
}
- warp_to_touch(sample, event->device);
+ warp_to_touch(sample, &event->touch->base);
}
static void handle_touch_down(struct wl_listener *listener, void *data) {
struct sample_state *sample = wl_container_of(listener, sample, touch_down);
- struct wlr_event_touch_down *event = data;
+ struct wlr_touch_down_event *event = data;
struct touch_point *point = calloc(1, sizeof(struct touch_point));
point->touch_id = event->touch_id;
point->x = event->x;
point->y = event->y;
wl_list_insert(&sample->touch_points, &point->link);
- warp_to_touch(sample, event->device);
+ warp_to_touch(sample, &event->touch->base);
}
static void handle_touch_motion(struct wl_listener *listener, void *data) {
struct sample_state *sample =
wl_container_of(listener, sample, touch_motion);
- struct wlr_event_touch_motion *event = data;
+ struct wlr_touch_motion_event *event = data;
struct touch_point *point;
wl_list_for_each(point, &sample->touch_points, link) {
@@ -207,7 +207,7 @@ static void handle_touch_motion(struct wl_listener *listener, void *data) {
}
}
- warp_to_touch(sample, event->device);
+ warp_to_touch(sample, &event->touch->base);
}
static void handle_touch_cancel(struct wl_listener *listener, void *data) {
diff --git a/examples/touch.c b/examples/touch.c
index 5984c500..765b41aa 100644
--- a/examples/touch.c
+++ b/examples/touch.c
@@ -93,7 +93,7 @@ static void output_frame_notify(struct wl_listener *listener, void *data) {
}
static void touch_down_notify(struct wl_listener *listener, void *data) {
- struct wlr_event_touch_motion *event = data;
+ struct wlr_touch_motion_event *event = data;
struct touch_state *tstate = wl_container_of(listener, tstate, down);
struct sample_state *sample = tstate->sample;
struct touch_point *point = calloc(1, sizeof(struct touch_point));
@@ -104,7 +104,7 @@ static void touch_down_notify(struct wl_listener *listener, void *data) {
}
static void touch_up_notify(struct wl_listener *listener, void *data ) {
- struct wlr_event_touch_up *event = data;
+ struct wlr_touch_up_event *event = data;
struct touch_state *tstate = wl_container_of(listener, tstate, up);
struct sample_state *sample = tstate->sample;
struct touch_point *point, *tmp;
@@ -117,7 +117,7 @@ static void touch_up_notify(struct wl_listener *listener, void *data ) {
}
static void touch_motion_notify(struct wl_listener *listener, void *data) {
- struct wlr_event_touch_motion *event = data;
+ struct wlr_touch_motion_event *event = data;
struct touch_state *tstate = wl_container_of(listener, tstate, motion);
struct sample_state *sample = tstate->sample;
struct touch_point *point;
diff --git a/include/wlr/types/wlr_touch.h b/include/wlr/types/wlr_touch.h
index ac256e08..0d2a27b6 100644
--- a/include/wlr/types/wlr_touch.h
+++ b/include/wlr/types/wlr_touch.h
@@ -34,30 +34,30 @@ struct wlr_touch {
void *data;
};
-struct wlr_event_touch_down {
- struct wlr_input_device *device;
+struct wlr_touch_down_event {
+ struct wlr_touch *touch;
uint32_t time_msec;
int32_t touch_id;
// From 0..1
double x, y;
};
-struct wlr_event_touch_up {
- struct wlr_input_device *device;
+struct wlr_touch_up_event {
+ struct wlr_touch *touch;
uint32_t time_msec;
int32_t touch_id;
};
-struct wlr_event_touch_motion {
- struct wlr_input_device *device;
+struct wlr_touch_motion_event {
+ struct wlr_touch *touch;
uint32_t time_msec;
int32_t touch_id;
// From 0..1
double x, y;
};
-struct wlr_event_touch_cancel {
- struct wlr_input_device *device;
+struct wlr_touch_cancel_event {
+ struct wlr_touch *touch;
uint32_t time_msec;
int32_t touch_id;
};
diff --git a/types/wlr_cursor.c b/types/wlr_cursor.c
index b9550959..cd50e61e 100644
--- a/types/wlr_cursor.c
+++ b/types/wlr_cursor.c
@@ -510,14 +510,14 @@ static void handle_pointer_hold_end(struct wl_listener *listener, void *data) {
}
static void handle_touch_up(struct wl_listener *listener, void *data) {
- struct wlr_event_touch_up *event = data;
+ struct wlr_touch_up_event *event = data;
struct wlr_cursor_device *device;
device = wl_container_of(listener, device, touch_up);
wlr_signal_emit_safe(&device->cursor->events.touch_up, event);
}
static void handle_touch_down(struct wl_listener *listener, void *data) {
- struct wlr_event_touch_down *event = data;
+ struct wlr_touch_down_event *event = data;
struct wlr_cursor_device *device;
device = wl_container_of(listener, device, touch_down);
@@ -530,7 +530,7 @@ static void handle_touch_down(struct wl_listener *listener, void *data) {
}
static void handle_touch_motion(struct wl_listener *listener, void *data) {
- struct wlr_event_touch_motion *event = data;
+ struct wlr_touch_motion_event *event = data;
struct wlr_cursor_device *device;
device = wl_container_of(listener, device, touch_motion);
@@ -543,7 +543,7 @@ static void handle_touch_motion(struct wl_listener *listener, void *data) {
}
static void handle_touch_cancel(struct wl_listener *listener, void *data) {
- struct wlr_event_touch_cancel *event = data;
+ struct wlr_touch_cancel_event *event = data;
struct wlr_cursor_device *device;
device = wl_container_of(listener, device, touch_cancel);
wlr_signal_emit_safe(&device->cursor->events.touch_cancel, event);