diff options
Diffstat (limited to 'video/out/wayland_common.h')
-rw-r--r-- | video/out/wayland_common.h | 47 |
1 files changed, 15 insertions, 32 deletions
diff --git a/video/out/wayland_common.h b/video/out/wayland_common.h index abcaa8be2f..d5259242bf 100644 --- a/video/out/wayland_common.h +++ b/video/out/wayland_common.h @@ -37,13 +37,6 @@ enum vo_wayland_window_type { struct vo; struct vo_wayland_state; -struct vo_wayland_task { - void (*run)(struct vo_wayland_task *task, - uint32_t events, - struct vo_wayland_state *wl); - - struct wl_list link; -}; struct vo_wayland_output { uint32_t id; /* unique name */ @@ -68,14 +61,13 @@ struct vo_wayland_display { struct wl_surface *surface; /* save timer and pointer for fading out */ + int mouse_timer; + bool mouse_waiting_hide; struct wl_pointer *pointer; uint32_t serial; - int timer_fd; - struct vo_wayland_task task; } cursor; - int display_fd, epoll_fd; - struct vo_wayland_task display_task; + int display_fd; struct wl_list output_list; struct wl_output *fs_output; /* fullscreen output */ @@ -91,19 +83,23 @@ struct vo_wayland_window { int32_t p_width; int32_t p_height; - int32_t pending_width; - int32_t pending_height; - uint32_t edges; - int resize_needed; - struct wl_surface *surface; struct wl_shell_surface *shell_surface; - struct wl_buffer *buffer; - struct wl_callback *callback; - int events; /* mplayer events */ + int events; /* mplayer events (VO_EVENT_RESIZE) */ enum vo_wayland_window_type type; /* is fullscreen */ + + /* Because the egl windows have a special resize windw function we have to + * register it first before doing any resizing. + * This makes us independet from the output driver */ + void (*resize_func) (struct vo_wayland_state *wl, + uint32_t edges, + int32_t width, + int32_t height, + void *user_data); + + void *resize_func_data; }; struct vo_wayland_input { @@ -115,20 +111,7 @@ struct vo_wayland_input { struct xkb_context *context; struct xkb_keymap *keymap; struct xkb_state *state; - xkb_mod_mask_t shift_mask; - xkb_mod_mask_t control_mask; - xkb_mod_mask_t alt_mask; } xkb; - - int modifiers; - - struct { - uint32_t sym; - uint32_t key; - uint32_t time; - int timer_fd; - struct vo_wayland_task task; - } repeat; }; struct vo_wayland_state { |