Hello Pekka,

as-is you get my:
Reviewed-by: Benoit Gschwind <gschw...@gnu-log.net>
Tested-by: Benoit Gschwind <gschw...@gnu-log.net>

But I have comments that may be worth to read :)

On 10/05/2016 16:11, Pekka Paalanen wrote:
> From: Pekka Paalanen <pekka.paala...@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.

I would use something like:

This avoids flooding the output with "pointer frame" of hidden/filtered
events.

But it's more about taste.

> 
> Signed-off-by: Pekka Paalanen <pekka.paala...@collabora.co.uk>
> ---
>  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;

I would use a global static following the existing width, height, log_*
rather than smear the eventdemo structure. That also reduce the patch size.

>  };
>  
>  /**
> @@ -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)
> 

Best regards,
Benoit Gschwind.
_______________________________________________
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to