diff options
author | emersion <contact@emersion.fr> | 2018-03-31 17:49:40 -0400 |
---|---|---|
committer | emersion <contact@emersion.fr> | 2018-03-31 17:49:40 -0400 |
commit | b2c2ee693b6f1cdaeb204a1469c0fa1b775a498c (patch) | |
tree | 1fd4a806d0ab7ba780d5fb93acb741b9b1dc3f85 /include/sway | |
parent | 122b96abed9955f78e3f157167d34312f5bb551d (diff) |
Introduce common functions to create, map, unmap, destroy views
Diffstat (limited to 'include/sway')
-rw-r--r-- | include/sway/output.h | 1 | ||||
-rw-r--r-- | include/sway/tree/container.h | 3 | ||||
-rw-r--r-- | include/sway/tree/view.h | 15 |
3 files changed, 15 insertions, 4 deletions
diff --git a/include/sway/output.h b/include/sway/output.h index b4980cd8..cfe7502b 100644 --- a/include/sway/output.h +++ b/include/sway/output.h @@ -24,6 +24,7 @@ struct sway_output { struct wl_listener destroy; struct wl_listener mode; struct wl_listener transform; + struct wl_listener scale; struct wl_listener damage_destroy; struct wl_listener damage_frame; diff --git a/include/sway/tree/container.h b/include/sway/tree/container.h index 6aa66da0..d707df17 100644 --- a/include/sway/tree/container.h +++ b/include/sway/tree/container.h @@ -70,9 +70,8 @@ struct sway_container { enum sway_container_layout prev_layout; enum sway_container_layout workspace_layout; - // TODO convert to layout coordinates + // in output-local coordinates double x, y; - // does not include borders or gaps. double width, height; diff --git a/include/sway/tree/view.h b/include/sway/tree/view.h index 3965d2b7..82a5541b 100644 --- a/include/sway/tree/view.h +++ b/include/sway/tree/view.h @@ -4,6 +4,8 @@ #include <wlr/types/wlr_surface.h> #include <wlr/types/wlr_xdg_shell_v6.h> #include <wlr/xwayland.h> +#include "sway/input/input-manager.h" +#include "sway/input/seat.h" struct sway_container; struct sway_view; @@ -94,9 +96,13 @@ struct sway_view { } iface; // only used for unmanaged views (shell specific) - struct wl_list unmanaged_view_link; // sway_root::unmanaged views + struct wl_list unmanaged_view_link; // sway_root::unmanaged_views }; +struct sway_view *view_create(enum sway_view_type type); + +void view_destroy(struct sway_view *view); + const char *view_get_title(struct sway_view *view); const char *view_get_app_id(struct sway_view *view); @@ -113,7 +119,12 @@ void view_set_activated(struct sway_view *view, bool activated); void view_close(struct sway_view *view); -void view_update_outputs(struct sway_view *view, const struct wlr_box *before); +void view_map(struct sway_view *view, struct wlr_surface *wlr_surface); + +void view_map_unmanaged(struct sway_view *view, + struct wlr_surface *wlr_surface); + +void view_unmap(struct sway_view *view); void view_damage_whole(struct sway_view *view); |