diff options
Diffstat (limited to 'include/rootston/view.h')
| -rw-r--r-- | include/rootston/view.h | 19 | 
1 files changed, 18 insertions, 1 deletions
| diff --git a/include/rootston/view.h b/include/rootston/view.h index 69034d60..bb7297d0 100644 --- a/include/rootston/view.h +++ b/include/rootston/view.h @@ -12,7 +12,8 @@ struct roots_wl_shell_surface {  	struct wl_listener destroy;  	struct wl_listener request_move;  	struct wl_listener request_resize; -	struct wl_listener request_set_maximized; +	struct wl_listener request_maximize; +	struct wl_listener request_fullscreen;  	struct wl_listener set_state;  	struct wl_listener surface_commit; @@ -26,6 +27,9 @@ 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; + +	uint32_t pending_move_resize_configure_serial;  };  struct roots_xwayland_surface { @@ -36,8 +40,11 @@ struct roots_xwayland_surface {  	struct wl_listener request_move;  	struct wl_listener request_resize;  	struct wl_listener request_maximize; +	struct wl_listener request_fullscreen;  	struct wl_listener map_notify;  	struct wl_listener unmap_notify; + +	struct wl_listener surface_commit;  };  enum roots_view_type { @@ -54,12 +61,19 @@ struct roots_view {  	float rotation;  	bool maximized; +	struct roots_output *fullscreen_output;  	struct {  		double x, y;  		uint32_t width, height;  		float rotation;  	} saved; +	struct { +		bool update_x, update_y; +		double x, y; +		uint32_t width, height; +	} pending_move_resize; +  	// TODO: Something for roots-enforced width/height  	enum roots_view_type type;  	union { @@ -93,6 +107,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 +118,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); | 
