From 000a125a8dc1ee7e41c9d2b65817e44b05a254a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=A4rkl?= Date: Wed, 1 Jul 2020 20:55:26 +0200 Subject: [PATCH] Add width/height to Setsu --- setsu/include/setsu.h | 2 ++ setsu/src/setsu.c | 14 ++++++++++++-- setsu/test/main.c | 11 +---------- 3 files changed, 15 insertions(+), 12 deletions(-) diff --git a/setsu/include/setsu.h b/setsu/include/setsu.h index 3e8b51e..a34250a 100644 --- a/setsu/include/setsu.h +++ b/setsu/include/setsu.h @@ -72,5 +72,7 @@ void setsu_poll(Setsu *setsu, SetsuEventCb cb, void *user); SetsuDevice *setsu_connect(Setsu *setsu, const char *path); void setsu_disconnect(Setsu *setsu, SetsuDevice *dev); const char *setsu_device_get_path(SetsuDevice *dev); +uint32_t setsu_device_get_width(SetsuDevice *dev); +uint32_t setsu_device_get_height(SetsuDevice *dev); #endif diff --git a/setsu/src/setsu.c b/setsu/src/setsu.c index 6a4eb38..2e78e9a 100644 --- a/setsu/src/setsu.c +++ b/setsu/src/setsu.c @@ -308,6 +308,16 @@ const char *setsu_device_get_path(SetsuDevice *dev) return dev->path; } +uint32_t setsu_device_get_width(SetsuDevice *dev) +{ + return dev->max_x - dev->min_x; +} + +uint32_t setsu_device_get_height(SetsuDevice *dev) +{ + return dev->max_y - dev->min_y; +} + void kill_avail_device(Setsu *setsu, SetsuAvailDevice *adev) { for(SetsuDevice *dev = setsu->dev; dev;) @@ -477,8 +487,8 @@ static void device_drain(Setsu *setsu, SetsuDevice *dev, SetsuEventCb cb, void * { BEGIN_EVENT(SETSU_EVENT_POSITION); event.tracking_id = dev->slots[i].tracking_id; - event.x = dev->slots[i].x; - event.y = dev->slots[i].y; + event.x = (uint32_t)(dev->slots[i].x - dev->min_x); + event.y = (uint32_t)(dev->slots[i].y - dev->min_y); SEND_EVENT(); dev->slots[i].pos_dirty = false; } diff --git a/setsu/test/main.c b/setsu/test/main.c index 0244cad..41401ac 100644 --- a/setsu/test/main.c +++ b/setsu/test/main.c @@ -28,6 +28,7 @@ Setsu *setsu; #define WIDTH 1920 #define HEIGHT 942 #define TOUCHES_MAX 8 +#define SCALE 16 struct { bool down; @@ -47,15 +48,6 @@ void quit() void print_state() { - for(size_t i=0; i