diff options
author | emersion <contact@emersion.fr> | 2017-11-20 17:27:36 +0100 |
---|---|---|
committer | emersion <contact@emersion.fr> | 2017-11-20 17:27:36 +0100 |
commit | b04a9a248d4cf3d0e93e1b39ee9eedc9da359173 (patch) | |
tree | 086127792613b1895a3325439f54e57c038e64b2 /include | |
parent | c3e0fbdb8f0cb16d99e70d14bb5cef6bd48d4591 (diff) |
Initial fullscreen support
Diffstat (limited to 'include')
-rw-r--r-- | include/rootston/view.h | 6 | ||||
-rw-r--r-- | include/wlr/types/wlr_output.h | 6 | ||||
-rw-r--r-- | include/wlr/types/wlr_xdg_shell_v6.h | 7 |
3 files changed, 19 insertions, 0 deletions
diff --git a/include/rootston/view.h b/include/rootston/view.h index 69034d60..e1397b89 100644 --- a/include/rootston/view.h +++ b/include/rootston/view.h @@ -13,6 +13,7 @@ struct roots_wl_shell_surface { struct wl_listener request_move; struct wl_listener request_resize; struct wl_listener request_set_maximized; + struct wl_listener request_set_fullscreen; struct wl_listener set_state; struct wl_listener surface_commit; @@ -26,6 +27,7 @@ struct roots_xdg_surface_v6 { struct wl_listener request_move; struct wl_listener request_resize; struct wl_listener request_maximize; + struct wl_listener request_fullscreen; }; struct roots_xwayland_surface { @@ -54,6 +56,7 @@ struct roots_view { float rotation; bool maximized; + struct wlr_output *fullscreen_output; struct { double x, y; uint32_t width, height; @@ -93,6 +96,7 @@ struct roots_view { void (*move_resize)(struct roots_view *view, double x, double y, uint32_t width, uint32_t height); void (*maximize)(struct roots_view *view, bool maximized); + void (*set_fullscreen)(struct roots_view *view, bool fullscreen); void (*close)(struct roots_view *view); }; @@ -103,6 +107,8 @@ void view_resize(struct roots_view *view, uint32_t width, uint32_t height); void view_move_resize(struct roots_view *view, double x, double y, uint32_t width, uint32_t height); void view_maximize(struct roots_view *view, bool maximized); +void view_set_fullscreen(struct roots_view *view, bool fullscreen, + struct wlr_output *output); void view_close(struct roots_view *view); bool view_center(struct roots_view *view); void view_setup(struct roots_view *view); diff --git a/include/wlr/types/wlr_output.h b/include/wlr/types/wlr_output.h index cf000019..d382b593 100644 --- a/include/wlr/types/wlr_output.h +++ b/include/wlr/types/wlr_output.h @@ -64,6 +64,10 @@ struct wlr_output { struct wl_signal destroy; } events; + struct wlr_surface *fullscreen_surface; + struct wl_listener fullscreen_surface_commit; + struct wl_listener fullscreen_surface_destroy; + struct wl_list cursors; // wlr_output_cursor::link struct wlr_output_cursor *hardware_cursor; @@ -89,6 +93,8 @@ void wlr_output_swap_buffers(struct wlr_output *output); void wlr_output_set_gamma(struct wlr_output *output, uint32_t size, uint16_t *r, uint16_t *g, uint16_t *b); uint32_t wlr_output_get_gamma_size(struct wlr_output *output); +void wlr_output_set_fullscreen_surface(struct wlr_output *output, + struct wlr_surface *surface); struct wlr_output_cursor *wlr_output_cursor_create(struct wlr_output *output); bool wlr_output_cursor_set_image(struct wlr_output_cursor *cursor, diff --git a/include/wlr/types/wlr_xdg_shell_v6.h b/include/wlr/types/wlr_xdg_shell_v6.h index e3982003..7940deef 100644 --- a/include/wlr/types/wlr_xdg_shell_v6.h +++ b/include/wlr/types/wlr_xdg_shell_v6.h @@ -152,6 +152,13 @@ struct wlr_xdg_toplevel_v6_resize_event { uint32_t edges; }; +struct wlr_xdg_toplevel_v6_set_fullscreen_event { + struct wl_client *client; + struct wlr_xdg_surface_v6 *surface; + bool fullscreen; + struct wlr_output *output; +}; + struct wlr_xdg_toplevel_v6_show_window_menu_event { struct wl_client *client; struct wlr_xdg_surface_v6 *surface; |