[PATCH weston v2 6/8] share/cairo-util: Use wl_pointer_button_state enum directly

Quentin Glidic sardemff7+wayland at sardemff7.net
Sat Sep 24 09:55:04 UTC 2016


On 08/08/2016 12:17, Giulio Camuffo wrote:
> Hi,
>
> Reviewed-by: Giulio Camuffo <giuliocamuffo at gmail.com>

Thanks, pushed:
9c36eb9..d8b17bc  master -> master

Cheers,


>
> 2016-07-10 11:00 GMT+02:00 Quentin Glidic <sardemff7+wayland at sardemff7.net>:
>> From: Quentin Glidic <sardemff7+git at sardemff7.net>
>>
>> This silences two warnings:
>>
>> clients/window.c:2450:20: warning: implicit conversion from enumeration
>> type 'enum wl_pointer_button_state' to different enumeration type 'enum
>> frame_button_state' [-Wenum-conversion]
>>                                               button, state);
>>                                                       ^~~~~
>>
>> clients/window.c:2453:15: warning: implicit conversion from enumeration
>> type 'enum wl_pointer_button_state' to different enumeration type 'enum
>> frame_button_state' [-Wenum-conversion]
>>                                                 button, state);
>>                                                         ^~~~~
>>
>> Warning produced by Clang 3.8.
>>
>> Signed-off-by: Quentin Glidic <sardemff7+git at sardemff7.net>
>> ---
>>
>> A lot of renaming here. I am not sure it is safe to include
>> wayland-client.h but it built fine so, here it is.
>>
>>  libweston/compositor-wayland.c |  9 ++-------
>>  shared/cairo-util.h            | 10 +++-------
>>  shared/frame.c                 | 12 ++++++------
>>  xwayland/window-manager.c      |  5 +++--
>>  4 files changed, 14 insertions(+), 22 deletions(-)
>>
>> diff --git a/libweston/compositor-wayland.c b/libweston/compositor-wayland.c
>> index 1343e21..8883e4b 100644
>> --- a/libweston/compositor-wayland.c
>> +++ b/libweston/compositor-wayland.c
>> @@ -1350,22 +1350,17 @@ input_handle_motion(void *data, struct wl_pointer *pointer,
>>  static void
>>  input_handle_button(void *data, struct wl_pointer *pointer,
>>                     uint32_t serial, uint32_t time, uint32_t button,
>> -                   uint32_t state_w)
>> +                   enum wl_pointer_button_state state)
>>  {
>>         struct wayland_input *input = data;
>> -       enum wl_pointer_button_state state = state_w;
>> -       enum frame_button_state fstate;
>>         enum theme_location location;
>>
>>         if (!input->output)
>>                 return;
>>
>>         if (input->output->frame) {
>> -               fstate = state == WL_POINTER_BUTTON_STATE_PRESSED ?
>> -                       FRAME_BUTTON_PRESSED : FRAME_BUTTON_RELEASED;
>> -
>>                 location = frame_pointer_button(input->output->frame, input,
>> -                                               button, fstate);
>> +                                               button, state);
>>
>>                 if (frame_status(input->output->frame) & FRAME_STATUS_MOVE) {
>>
>> diff --git a/shared/cairo-util.h b/shared/cairo-util.h
>> index 4fee087..84cf005 100644
>> --- a/shared/cairo-util.h
>> +++ b/shared/cairo-util.h
>> @@ -29,6 +29,7 @@
>>  #include <stdint.h>
>>  #include <cairo.h>
>>
>> +#include <wayland-client.h>
>>  #include <wayland-util.h>
>>
>>  void
>> @@ -123,11 +124,6 @@ enum {
>>         FRAME_BUTTON_ALL = 0x7
>>  };
>>
>> -enum frame_button_state {
>> -       FRAME_BUTTON_RELEASED = 0,
>> -       FRAME_BUTTON_PRESSED = 1
>> -};
>> -
>>  struct frame *
>>  frame_create(struct theme *t, int32_t width, int32_t height, uint32_t buttons,
>>              const char *title);
>> @@ -208,7 +204,7 @@ frame_pointer_leave(struct frame *frame, void *pointer);
>>   */
>>  enum theme_location
>>  frame_pointer_button(struct frame *frame, void *pointer,
>> -                    uint32_t button, enum frame_button_state state);
>> +                    uint32_t button, enum wl_pointer_button_state state);
>>
>>  enum theme_location
>>  frame_touch_down(struct frame *frame, void *data, int32_t id, int x, int y);
>> @@ -218,7 +214,7 @@ frame_touch_up(struct frame *frame, void *data, int32_t id);
>>
>>  enum theme_location
>>  frame_double_click(struct frame *frame, void *pointer,
>> -                  uint32_t button, enum frame_button_state state);
>> +                  uint32_t button, enum wl_pointer_button_state state);
>>
>>  void
>>  frame_double_touch_down(struct frame *frame, void *data, int32_t id,
>> diff --git a/shared/frame.c b/shared/frame.c
>> index 1b67eb1..b8c3e0b 100644
>> --- a/shared/frame.c
>> +++ b/shared/frame.c
>> @@ -744,7 +744,7 @@ frame_pointer_leave(struct frame *frame, void *data)
>>
>>  enum theme_location
>>  frame_pointer_button(struct frame *frame, void *data,
>> -                    uint32_t btn, enum frame_button_state state)
>> +                    uint32_t btn, enum wl_pointer_button_state state)
>>  {
>>         struct frame_pointer *pointer = frame_pointer_get(frame, data);
>>         struct frame_pointer_button *button;
>> @@ -758,7 +758,7 @@ frame_pointer_button(struct frame *frame, void *data,
>>                                       frame->flags & FRAME_FLAG_MAXIMIZED ?
>>                                       THEME_FRAME_MAXIMIZED : 0);
>>
>> -       if (state == FRAME_BUTTON_PRESSED) {
>> +       if (state == WL_POINTER_BUTTON_STATE_PRESSED) {
>>                 button = malloc(sizeof *button);
>>                 if (!button)
>>                         return location;
>> @@ -769,7 +769,7 @@ frame_pointer_button(struct frame *frame, void *data,
>>                 wl_list_insert(&pointer->down_buttons, &button->link);
>>
>>                 frame_pointer_button_press(frame, pointer, button);
>> -       } else if (state == FRAME_BUTTON_RELEASED) {
>> +       } else if (state == WL_POINTER_BUTTON_STATE_RELEASED) {
>>                 button = NULL;
>>                 wl_list_for_each(button, &pointer->down_buttons, link)
>>                         if (button->button == btn)
>> @@ -843,7 +843,7 @@ frame_touch_up(struct frame *frame, void *data, int32_t id)
>>
>>  enum theme_location
>>  frame_double_click(struct frame *frame, void *data,
>> -                  uint32_t btn, enum frame_button_state state)
>> +                  uint32_t btn, enum wl_pointer_button_state state)
>>  {
>>         struct frame_pointer *pointer = frame_pointer_get(frame, data);
>>         struct frame_button *button;
>> @@ -859,12 +859,12 @@ frame_double_click(struct frame *frame, void *data,
>>         if (location != THEME_LOCATION_TITLEBAR || btn != BTN_LEFT)
>>                 return location;
>>
>> -       if (state == FRAME_BUTTON_PRESSED) {
>> +       if (state == WL_POINTER_BUTTON_STATE_PRESSED) {
>>                 if (button)
>>                         frame_button_press(button);
>>                 else
>>                         frame->status |= FRAME_STATUS_MAXIMIZE;
>> -       } else if (state == FRAME_BUTTON_RELEASED) {
>> +       } else if (state == WL_POINTER_BUTTON_STATE_RELEASED) {
>>                 if (button)
>>                         frame_button_release(button);
>>         }
>> diff --git a/xwayland/window-manager.c b/xwayland/window-manager.c
>> index f6f92bd..93e4be8 100644
>> --- a/xwayland/window-manager.c
>> +++ b/xwayland/window-manager.c
>> @@ -1757,7 +1757,7 @@ weston_wm_handle_button(struct weston_wm *wm, xcb_generic_event_t *event)
>>         struct weston_pointer *pointer;
>>         struct weston_wm_window *window;
>>         enum theme_location location;
>> -       enum frame_button_state button_state;
>> +       enum wl_pointer_button_state button_state;
>>         uint32_t button_id;
>>
>>         wm_log("XCB_BUTTON_%s (detail %d)\n",
>> @@ -1775,7 +1775,8 @@ weston_wm_handle_button(struct weston_wm *wm, xcb_generic_event_t *event)
>>         pointer = weston_seat_get_pointer(seat);
>>
>>         button_state = button->response_type == XCB_BUTTON_PRESS ?
>> -               FRAME_BUTTON_PRESSED : FRAME_BUTTON_RELEASED;
>> +               WL_POINTER_BUTTON_STATE_PRESSED :
>> +               WL_POINTER_BUTTON_STATE_RELEASED;
>>         button_id = button->detail == 1 ? BTN_LEFT : BTN_RIGHT;
>>
>>         /* Make sure we're looking at the right location.  The frame
>> --
>> 2.9.0
>>
>> _______________________________________________
>> wayland-devel mailing list
>> wayland-devel at lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/wayland-devel


-- 

Quentin “Sardem FF7” Glidic


More information about the wayland-devel mailing list