From f3084e2c0dbc89238112ef0ed4ffd4ebb059ece6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20=C3=85dahl?= Date: Mon, 2 Jun 2014 23:09:27 +0200 Subject: Use floating point numbers instead of fixed point numbers MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixed point numbers can easily overflow, and double to fixed point conversion is lossy. Use floating point (double) where fixed point numbers where previously used and remove the li_fixed_t type. Signed-off-by: Jonas Ã…dahl Reviewed-by: Peter Hutterer --- tools/event-debug.c | 28 +++++++++++----------------- 1 file changed, 11 insertions(+), 17 deletions(-) (limited to 'tools') diff --git a/tools/event-debug.c b/tools/event-debug.c index 8dbca4b0..e41da05a 100644 --- a/tools/event-debug.c +++ b/tools/event-debug.c @@ -254,29 +254,25 @@ static void print_motion_event(struct libinput_event *ev) { struct libinput_event_pointer *p = libinput_event_get_pointer_event(ev); - li_fixed_t x = libinput_event_pointer_get_dx(p), - y = libinput_event_pointer_get_dy(p); + double x = libinput_event_pointer_get_dx(p); + double y = libinput_event_pointer_get_dy(p); print_event_time(libinput_event_pointer_get_time(p)); - printf("%6.2f/%6.2f\n", - li_fixed_to_double(x), - li_fixed_to_double(y)); + printf("%6.2f/%6.2f\n", x, y); } static void print_absmotion_event(struct libinput_event *ev) { struct libinput_event_pointer *p = libinput_event_get_pointer_event(ev); - li_fixed_t x = libinput_event_pointer_get_absolute_x_transformed( + double x = libinput_event_pointer_get_absolute_x_transformed( p, screen_width); - li_fixed_t y = libinput_event_pointer_get_absolute_y_transformed( + double y = libinput_event_pointer_get_absolute_y_transformed( p, screen_height); print_event_time(libinput_event_pointer_get_time(p)); - printf("%6.2f/%6.2f\n", - li_fixed_to_double(x), - li_fixed_to_double(y)); + printf("%6.2f/%6.2f\n", x, y); } static void @@ -300,7 +296,7 @@ print_axis_event(struct libinput_event *ev) struct libinput_event_pointer *p = libinput_event_get_pointer_event(ev); enum libinput_pointer_axis axis = libinput_event_pointer_get_axis(p); const char *ax; - li_fixed_t val; + double val; switch (axis) { case LIBINPUT_POINTER_AXIS_VERTICAL_SCROLL: @@ -315,8 +311,7 @@ print_axis_event(struct libinput_event *ev) print_event_time(libinput_event_pointer_get_time(p)); val = libinput_event_pointer_get_axis_value(p); - printf("%s %.2f\n", - ax, li_fixed_to_double(val)); + printf("%s %.2f\n", ax, val); } static void @@ -332,16 +327,15 @@ static void print_touch_event_with_coords(struct libinput_event *ev) { struct libinput_event_touch *t = libinput_event_get_touch_event(ev); - li_fixed_t x = libinput_event_touch_get_x_transformed(t, screen_width), - y = libinput_event_touch_get_y_transformed(t, screen_height); + double x = libinput_event_touch_get_x_transformed(t, screen_width); + double y = libinput_event_touch_get_y_transformed(t, screen_height); print_event_time(libinput_event_touch_get_time(t)); printf("%d (%d) %5.2f/%5.2f\n", libinput_event_touch_get_slot(t), libinput_event_touch_get_seat_slot(t), - li_fixed_to_double(x), - li_fixed_to_double(y)); + x, y); } static int -- cgit v1.2.1