mirror of
https://gitlab.freedesktop.org/wlroots/wlroots.git
synced 2024-11-25 00:22:25 +00:00
types/wlr_input_device: move width_mm and height_mm fields to wlr_tablet and wlr_touch
This commit is contained in:
parent
a92e5f8d46
commit
96ccc50c57
@ -25,6 +25,9 @@ void init_device_tablet(struct wlr_libinput_input_device *dev) {
|
||||
wlr_tablet->base.vendor = libinput_device_get_id_vendor(dev->handle);
|
||||
wlr_tablet->base.product = libinput_device_get_id_product(dev->handle);
|
||||
|
||||
libinput_device_get_size(dev->handle, &wlr_tablet->width_mm,
|
||||
&wlr_tablet->height_mm);
|
||||
|
||||
struct udev_device *udev = libinput_device_get_udev_device(dev->handle);
|
||||
char **dst = wl_array_add(&wlr_tablet->paths, sizeof(char *));
|
||||
*dst = strdup(udev_device_get_syspath(udev));
|
||||
|
@ -14,6 +14,9 @@ void init_device_touch(struct wlr_libinput_input_device *dev) {
|
||||
wlr_touch_init(wlr_touch, &libinput_touch_impl, name);
|
||||
wlr_touch->base.vendor = libinput_device_get_id_vendor(dev->handle);
|
||||
wlr_touch->base.product = libinput_device_get_id_product(dev->handle);
|
||||
|
||||
libinput_device_get_size(dev->handle, &wlr_touch->width_mm,
|
||||
&wlr_touch->height_mm);
|
||||
}
|
||||
|
||||
struct wlr_libinput_input_device *device_from_touch(
|
||||
|
@ -320,11 +320,12 @@ static void new_input_notify(struct wl_listener *listener, void *data) {
|
||||
wl_signal_add(&device->tablet_pad->events.ring, &pstate->ring);
|
||||
wl_list_insert(&sample->tablet_pads, &pstate->link);
|
||||
break;
|
||||
case WLR_INPUT_DEVICE_TABLET_TOOL:
|
||||
sample->width_mm = device->width_mm == 0 ?
|
||||
20 : device->width_mm;
|
||||
sample->height_mm = device->height_mm == 0 ?
|
||||
10 : device->height_mm;
|
||||
case WLR_INPUT_DEVICE_TABLET_TOOL:;
|
||||
struct wlr_tablet *tablet = device->tablet;
|
||||
sample->width_mm = tablet->width_mm == 0 ?
|
||||
20 : tablet->width_mm;
|
||||
sample->height_mm = tablet->height_mm == 0 ?
|
||||
10 : tablet->height_mm;
|
||||
|
||||
struct tablet_tool_state *tstate = calloc(sizeof(struct tablet_tool_state), 1);
|
||||
tstate->device = device;
|
||||
@ -344,7 +345,6 @@ static void new_input_notify(struct wl_listener *listener, void *data) {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
int main(int argc, char *argv[]) {
|
||||
wlr_log_init(WLR_DEBUG, NULL);
|
||||
struct wl_display *display = wl_display_create();
|
||||
|
@ -29,8 +29,6 @@ struct wlr_input_device {
|
||||
enum wlr_input_device_type type;
|
||||
unsigned int vendor, product;
|
||||
char *name;
|
||||
// Or 0 if not applicable to this device
|
||||
double width_mm, height_mm;
|
||||
|
||||
/* wlr_input_device.type determines which of these is valid */
|
||||
union {
|
||||
|
@ -64,6 +64,8 @@ struct wlr_tablet {
|
||||
|
||||
const struct wlr_tablet_impl *impl;
|
||||
|
||||
double width_mm, height_mm;
|
||||
|
||||
struct {
|
||||
struct wl_signal axis;
|
||||
struct wl_signal proximity;
|
||||
|
@ -21,6 +21,7 @@ struct wlr_touch {
|
||||
const struct wlr_touch_impl *impl;
|
||||
|
||||
char *output_name;
|
||||
double width_mm, height_mm;
|
||||
|
||||
struct {
|
||||
struct wl_signal down; // struct wlr_event_touch_down
|
||||
|
Loading…
Reference in New Issue
Block a user