[PATCH weston 1/3] eventdemo: do not print pointer frames alone
Yong Bakos
junk at humanoriented.com
Tue May 10 16:07:14 UTC 2016
On May 10, 2016, at 9:11 AM, Pekka Paalanen <ppaalanen at gmail.com> wrote:
>
> From: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
>
> Print pointer frames only if any pointer related events are printed
> first.
>
> This avoids flooding the output with "pointer frame" just because of
> motion.
>
> Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Makes sense, even to my naive eyes, but when testing I could not see
a difference in console output after applying the patches. What specific
pointer activity should I invoke in order to see the difference? (I'm
trying to add both a R'b and T'b.)
Thank you,
yong
> ---
> clients/eventdemo.c | 26 ++++++++++++++++++++++++++
> 1 file changed, 26 insertions(+)
>
> diff --git a/clients/eventdemo.c b/clients/eventdemo.c
> index e323aa5..f1558d2 100644
> --- a/clients/eventdemo.c
> +++ b/clients/eventdemo.c
> @@ -35,6 +35,7 @@
>
> #include <stdio.h>
> #include <stdlib.h>
> +#include <stdbool.h>
>
> #include <cairo.h>
>
> @@ -93,6 +94,8 @@ struct eventdemo {
> struct display *display;
>
> int x, y, w, h;
> +
> + bool print_pointer_frame;
> };
>
> /**
> @@ -223,11 +226,14 @@ static void
> button_handler(struct widget *widget, struct input *input, uint32_t time,
> uint32_t button, enum wl_pointer_button_state state, void *data)
> {
> + struct eventdemo *e = data;
> int32_t x, y;
>
> if (!log_button)
> return;
>
> + e->print_pointer_frame = true;
> +
> input_get_position(input, &x, &y);
> printf("button time: %d, button: %d, state: %s, x: %d, y: %d\n",
> time, button,
> @@ -249,9 +255,13 @@ static void
> axis_handler(struct widget *widget, struct input *input, uint32_t time,
> uint32_t axis, wl_fixed_t value, void *data)
> {
> + struct eventdemo *e = data;
> +
> if (!log_axis)
> return;
>
> + e->print_pointer_frame = true;
> +
> printf("axis time: %d, axis: %s, value: %f\n",
> time,
> axis == WL_POINTER_AXIS_VERTICAL_SCROLL ? "vertical" :
> @@ -262,7 +272,13 @@ axis_handler(struct widget *widget, struct input *input, uint32_t time,
> static void
> pointer_frame_handler(struct widget *widget, struct input *input, void *data)
> {
> + struct eventdemo *e = data;
> +
> + if (!e->print_pointer_frame)
> + return;
> +
> printf("pointer frame\n");
> + e->print_pointer_frame = false;
> }
>
> static void
> @@ -270,6 +286,9 @@ axis_source_handler(struct widget *widget, struct input *input,
> uint32_t source, void *data)
> {
> const char *axis_source;
> + struct eventdemo *e = data;
> +
> + e->print_pointer_frame = true;
>
> switch (source) {
> case WL_POINTER_AXIS_SOURCE_WHEEL:
> @@ -294,6 +313,9 @@ axis_stop_handler(struct widget *widget, struct input *input,
> uint32_t time, uint32_t axis,
> void *data)
> {
> + struct eventdemo *e = data;
> +
> + e->print_pointer_frame = true;
> printf("axis stop time: %d, axis: %s\n",
> time,
> axis == WL_POINTER_AXIS_VERTICAL_SCROLL ? "vertical" :
> @@ -304,6 +326,9 @@ static void
> axis_discrete_handler(struct widget *widget, struct input *input,
> uint32_t axis, int32_t discrete, void *data)
> {
> + struct eventdemo *e = data;
> +
> + e->print_pointer_frame = true;
> printf("axis discrete axis: %d value: %d\n", axis, discrete);
> }
>
> @@ -328,6 +353,7 @@ motion_handler(struct widget *widget, struct input *input, uint32_t time,
>
> if (log_motion) {
> printf("motion time: %d, x: %f, y: %f\n", time, x, y);
> + e->print_pointer_frame = true;
> }
>
> if (x > e->x && x < e->x + e->w)
> --
> 2.7.3
>
> _______________________________________________
> wayland-devel mailing list
> wayland-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/wayland-devel
More information about the wayland-devel
mailing list