summaryrefslogtreecommitdiffstats
path: root/video/out/wayland_common.h
diff options
context:
space:
mode:
Diffstat (limited to 'video/out/wayland_common.h')
-rw-r--r--video/out/wayland_common.h47
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 {