diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/sway/output.h | 41 |
1 files changed, 40 insertions, 1 deletions
diff --git a/include/sway/output.h b/include/sway/output.h index e6fe55c6..b6cda83c 100644 --- a/include/sway/output.h +++ b/include/sway/output.h | |||
@@ -38,6 +38,16 @@ struct sway_output { | |||
38 | } events; | 38 | } events; |
39 | }; | 39 | }; |
40 | 40 | ||
41 | /** | ||
42 | * Contains a surface's root geometry information. For instance, when rendering | ||
43 | * a popup, this will contain the parent view's position and size. | ||
44 | */ | ||
45 | struct root_geometry { | ||
46 | double x, y; | ||
47 | int width, height; | ||
48 | float rotation; | ||
49 | }; | ||
50 | |||
41 | void output_damage_whole(struct sway_output *output); | 51 | void output_damage_whole(struct sway_output *output); |
42 | 52 | ||
43 | void output_damage_surface(struct sway_output *output, double ox, double oy, | 53 | void output_damage_surface(struct sway_output *output, double ox, double oy, |
@@ -56,6 +66,35 @@ struct sway_container *output_by_name(const char *name); | |||
56 | void output_enable(struct sway_output *output); | 66 | void output_enable(struct sway_output *output); |
57 | 67 | ||
58 | bool output_has_opaque_lockscreen(struct sway_output *output, | 68 | bool output_has_opaque_lockscreen(struct sway_output *output, |
59 | struct sway_seat *seat); | 69 | struct sway_seat *seat); |
70 | |||
71 | struct sway_container *output_get_active_workspace(struct sway_output *output); | ||
72 | |||
73 | void output_render(struct sway_output *output, struct timespec *when, | ||
74 | pixman_region32_t *damage); | ||
75 | |||
76 | bool output_get_surface_box(struct root_geometry *geo, | ||
77 | struct sway_output *output, struct wlr_surface *surface, int sx, int sy, | ||
78 | struct wlr_box *surface_box); | ||
79 | |||
80 | void output_surface_for_each_surface(struct wlr_surface *surface, | ||
81 | double ox, double oy, struct root_geometry *geo, | ||
82 | wlr_surface_iterator_func_t iterator, void *user_data); | ||
83 | |||
84 | void output_view_for_each_surface(struct sway_view *view, | ||
85 | struct sway_output *output, struct root_geometry *geo, | ||
86 | wlr_surface_iterator_func_t iterator, void *user_data); | ||
87 | |||
88 | void output_layer_for_each_surface(struct wl_list *layer_surfaces, | ||
89 | struct root_geometry *geo, wlr_surface_iterator_func_t iterator, | ||
90 | void *user_data); | ||
91 | |||
92 | void output_unmanaged_for_each_surface(struct wl_list *unmanaged, | ||
93 | struct sway_output *output, struct root_geometry *geo, | ||
94 | wlr_surface_iterator_func_t iterator, void *user_data); | ||
95 | |||
96 | void output_drag_icons_for_each_surface(struct wl_list *drag_icons, | ||
97 | struct sway_output *output, struct root_geometry *geo, | ||
98 | wlr_surface_iterator_func_t iterator, void *user_data); | ||
60 | 99 | ||
61 | #endif | 100 | #endif |