mirror of
https://gitlab.freedesktop.org/wlroots/wlroots.git
synced 2025-10-31 22:25:21 -04:00
Allocate wlr_touch devices
This commit is contained in:
parent
7dfc2c28f1
commit
d6905f86cb
11 changed files with 104 additions and 14 deletions
|
|
@ -16,7 +16,7 @@ struct wlr_backend_state {
|
|||
struct libinput *libinput;
|
||||
struct wl_event_source *input_event;
|
||||
|
||||
list_t *keyboards;
|
||||
list_t *devices;
|
||||
};
|
||||
|
||||
struct wlr_input_device_state {
|
||||
|
|
@ -46,4 +46,17 @@ void handle_pointer_button(struct libinput_event *event,
|
|||
void handle_pointer_axis(struct libinput_event *event,
|
||||
struct libinput_device *device);
|
||||
|
||||
struct wlr_touch *wlr_libinput_touch_create(
|
||||
struct libinput_device *device);
|
||||
void handle_touch_down(struct libinput_event *event,
|
||||
struct libinput_device *device);
|
||||
void handle_touch_up(struct libinput_event *event,
|
||||
struct libinput_device *device);
|
||||
void handle_touch_motion(struct libinput_event *event,
|
||||
struct libinput_device *device);
|
||||
void handle_touch_cancel(struct libinput_event *event,
|
||||
struct libinput_device *device);
|
||||
void handle_touch_frame(struct libinput_event *event,
|
||||
struct libinput_device *device);
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -34,6 +34,14 @@ struct wlr_pointer *wlr_pointer_create(struct wlr_pointer_impl *impl,
|
|||
struct wlr_pointer_state *state);
|
||||
void wlr_pointer_destroy(struct wlr_pointer *pointer);
|
||||
|
||||
struct wlr_touch_impl {
|
||||
void (*destroy)(struct wlr_touch_state *state);
|
||||
};
|
||||
|
||||
struct wlr_touch *wlr_touch_create(struct wlr_touch_impl *impl,
|
||||
struct wlr_touch_state *state);
|
||||
void wlr_touch_destroy(struct wlr_touch *touch);
|
||||
|
||||
struct wlr_input_device_impl {
|
||||
void (*destroy)(struct wlr_input_device_state *state);
|
||||
};
|
||||
|
|
|
|||
|
|
@ -134,7 +134,22 @@ struct wlr_pointer_axis {
|
|||
double delta;
|
||||
};
|
||||
|
||||
// TODO: touch
|
||||
struct wlr_touch_state;
|
||||
struct wlr_touch_impl;
|
||||
|
||||
struct wlr_touch {
|
||||
struct wlr_touch_state *state;
|
||||
struct wlr_touch_impl *impl;
|
||||
|
||||
struct {
|
||||
struct wl_signal down;
|
||||
struct wl_signal up;
|
||||
struct wl_signal motion;
|
||||
struct wl_signal cancel;
|
||||
struct wl_signal frame;
|
||||
} events;
|
||||
};
|
||||
|
||||
// TODO: tablet & tablet tool
|
||||
// TODO: gestures
|
||||
// TODO: switch
|
||||
|
|
@ -164,6 +179,7 @@ struct wlr_input_device {
|
|||
void *_device;
|
||||
struct wlr_keyboard *keyboard;
|
||||
struct wlr_pointer *pointer;
|
||||
struct wlr_touch *touch;
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue