diff options
Diffstat (limited to 'include/sway/output.h')
-rw-r--r-- | include/sway/output.h | 53 |
1 files changed, 38 insertions, 15 deletions
diff --git a/include/sway/output.h b/include/sway/output.h index e1bdd3f0..56571548 100644 --- a/include/sway/output.h +++ b/include/sway/output.h | |||
@@ -1,25 +1,48 @@ | |||
1 | #ifndef _SWAY_OUTPUT_H | 1 | #ifndef _SWAY_OUTPUT_H |
2 | #define _SWAY_OUTPUT_H | 2 | #define _SWAY_OUTPUT_H |
3 | #include <time.h> | ||
4 | #include <unistd.h> | ||
5 | #include <wayland-server.h> | ||
6 | #include <wlr/types/wlr_box.h> | ||
7 | #include <wlr/types/wlr_output.h> | ||
8 | #include "sway/tree/view.h" | ||
3 | 9 | ||
4 | #include "container.h" | 10 | struct sway_server; |
5 | #include "focus.h" | 11 | struct sway_container; |
6 | 12 | ||
7 | // Position is absolute coordinates on the edge where the adjacent output | 13 | struct sway_output { |
8 | // should be searched for. | 14 | struct wlr_output *wlr_output; |
9 | swayc_t *output_by_name(const char* name, const struct wlc_point *abs_pos); | 15 | struct sway_container *swayc; |
10 | swayc_t *swayc_opposite_output(enum movement_direction dir, const struct wlc_point *abs_pos); | 16 | struct sway_server *server; |
11 | swayc_t *swayc_adjacent_output(swayc_t *output, enum movement_direction dir, const struct wlc_point *abs_pos, bool pick_closest); | ||
12 | 17 | ||
13 | // Place absolute coordinates for given container into given wlc_point. | 18 | struct wl_list layers[4]; // sway_layer_surface::link |
14 | void get_absolute_position(swayc_t *container, struct wlc_point *point); | 19 | struct wlr_box usable_area; |
15 | 20 | ||
16 | // Place absolute coordinates for the center point of given container into | 21 | struct timespec last_frame; |
17 | // given wlc_point. | 22 | struct wlr_output_damage *damage; |
18 | void get_absolute_center_position(swayc_t *container, struct wlc_point *point); | ||
19 | 23 | ||
20 | // stable sort workspaces on this output | 24 | struct wl_listener destroy; |
21 | void sort_workspaces(swayc_t *output); | 25 | struct wl_listener mode; |
26 | struct wl_listener transform; | ||
27 | struct wl_listener scale; | ||
22 | 28 | ||
23 | void output_get_scaled_size(wlc_handle handle, struct wlc_size *size); | 29 | struct wl_listener damage_destroy; |
30 | struct wl_listener damage_frame; | ||
31 | |||
32 | pid_t bg_pid; | ||
33 | }; | ||
34 | |||
35 | void output_damage_whole(struct sway_output *output); | ||
36 | |||
37 | void output_damage_surface(struct sway_output *output, double ox, double oy, | ||
38 | struct wlr_surface *surface, bool whole); | ||
39 | |||
40 | void output_damage_view(struct sway_output *output, struct sway_view *view, | ||
41 | bool whole); | ||
42 | |||
43 | void output_damage_whole_container(struct sway_output *output, | ||
44 | struct sway_container *con); | ||
45 | |||
46 | struct sway_container *output_by_name(const char *name); | ||
24 | 47 | ||
25 | #endif | 48 | #endif |