[PATCH 4/4] eventdemo: add axis logging
Philipp Brüschweiler
blei42 at gmail.com
Tue Aug 14 02:02:42 PDT 2012
https://bugs.freedesktop.org/show_bug.cgi?id=52453
---
clients/eventdemo.c | 30 ++++++++++++++++++++++++++++++
1 Datei geändert, 30 Zeilen hinzugefügt(+)
diff --git a/clients/eventdemo.c b/clients/eventdemo.c
index 49e4399..569a8c1 100644
--- a/clients/eventdemo.c
+++ b/clients/eventdemo.c
@@ -70,6 +70,9 @@ static int log_key = 0;
/** set to log button events */
static int log_button = 0;
+/** set to log axis events */
+static int log_axis = 0;
+
/** set to log motion events */
static int log_motion = 0;
@@ -230,6 +233,29 @@ button_handler(struct widget *widget, struct input *input, uint32_t time,
}
/**
+ * \brief CALLBACK function, Wayland informs about axis event
+ * \param widget widget
+ * \param input input device that caused the axis event
+ * \param time time the event happened
+ * \param axis vertical or horizontal
+ * \param value amount of scrolling
+ * \param data user data associated to the widget
+ */
+static void
+axis_handler(struct widget *widget, struct input *input, uint32_t time,
+ uint32_t axis, wl_fixed_t value, void *data)
+{
+ if (!log_axis)
+ return;
+
+ printf("axis time: %d, axis: %s, value: %f\n",
+ time,
+ axis == WL_POINTER_AXIS_VERTICAL_SCROLL ? "vertical" :
+ "horizontal",
+ wl_fixed_to_double(value));
+}
+
+/**
* \brief CALLBACK function, Waylands informs about pointer motion
* \param widget widget
* \param input input device that caused the motion event
@@ -317,6 +343,9 @@ eventdemo_create(struct display *d)
/* Set the callback motion handler for the window */
widget_set_motion_handler(e->widget, motion_handler);
+ /* Set the callback axis handler for the window */
+ widget_set_axis_handler(e->widget, axis_handler);
+
/* Initial drawing of the window */
window_schedule_resize(e->window, width, height);
@@ -347,6 +376,7 @@ static const struct weston_option eventdemo_options[] = {
{ WESTON_OPTION_BOOLEAN, "log-focus", '0', &log_focus },
{ WESTON_OPTION_BOOLEAN, "log-key", '0', &log_key },
{ WESTON_OPTION_BOOLEAN, "log-button", '0', &log_button },
+ { WESTON_OPTION_BOOLEAN, "log-axis", '0', &log_axis },
{ WESTON_OPTION_BOOLEAN, "log-motion", '0', &log_motion },
};
--
1.7.11.4
More information about the wayland-devel
mailing list