aboutsummaryrefslogtreecommitdiffstats
path: root/include/sway/output.h
diff options
context:
space:
mode:
authorLibravatar emersion <contact@emersion.fr>2018-07-27 18:17:47 +0100
committerLibravatar emersion <contact@emersion.fr>2018-07-29 14:33:26 +0100
commitd2172bd331937ab406175a6b4c5a76db6f406fbe (patch)
tree1fe59e7023589c1c8f0ef0f512e2de8aa6df36fa /include/sway/output.h
parentMerge pull request #2380 from mariusor/tap-button-map-man-fix (diff)
downloadsway-d2172bd331937ab406175a6b4c5a76db6f406fbe.tar.gz
sway-d2172bd331937ab406175a6b4c5a76db6f406fbe.tar.zst
sway-d2172bd331937ab406175a6b4c5a76db6f406fbe.zip
wip: redesign output_unmanaged_for_each_surface iterator
Diffstat (limited to 'include/sway/output.h')
-rw-r--r--include/sway/output.h17
1 files changed, 14 insertions, 3 deletions
diff --git a/include/sway/output.h b/include/sway/output.h
index c225e541..99b0bcc6 100644
--- a/include/sway/output.h
+++ b/include/sway/output.h
@@ -5,6 +5,7 @@
5#include <wayland-server.h> 5#include <wayland-server.h>
6#include <wlr/types/wlr_box.h> 6#include <wlr/types/wlr_box.h>
7#include <wlr/types/wlr_output.h> 7#include <wlr/types/wlr_output.h>
8#include "config.h"
8#include "sway/tree/view.h" 9#include "sway/tree/view.h"
9 10
10struct sway_server; 11struct sway_server;
@@ -48,6 +49,10 @@ struct root_geometry {
48 float rotation; 49 float rotation;
49}; 50};
50 51
52typedef void (*sway_surface_iterator_func_t)(struct sway_output *output,
53 struct wlr_surface *surface, struct wlr_box *box, float rotation,
54 void *user_data);
55
51void output_damage_whole(struct sway_output *output); 56void output_damage_whole(struct sway_output *output);
52 57
53void output_damage_surface(struct sway_output *output, double ox, double oy, 58void output_damage_surface(struct sway_output *output, double ox, double oy,
@@ -80,6 +85,10 @@ void output_surface_for_each_surface(struct wlr_surface *surface,
80 double ox, double oy, struct root_geometry *geo, 85 double ox, double oy, struct root_geometry *geo,
81 wlr_surface_iterator_func_t iterator, void *user_data); 86 wlr_surface_iterator_func_t iterator, void *user_data);
82 87
88void output_surface_for_each_surface2(struct sway_output *output,
89 struct wlr_surface *surface, double ox, double oy, float rotation,
90 sway_surface_iterator_func_t iterator, void *user_data);
91
83void output_view_for_each_surface(struct sway_view *view, 92void output_view_for_each_surface(struct sway_view *view,
84 struct sway_output *output, struct root_geometry *geo, 93 struct sway_output *output, struct root_geometry *geo,
85 wlr_surface_iterator_func_t iterator, void *user_data); 94 wlr_surface_iterator_func_t iterator, void *user_data);
@@ -88,9 +97,11 @@ void output_layer_for_each_surface(struct wl_list *layer_surfaces,
88 struct root_geometry *geo, wlr_surface_iterator_func_t iterator, 97 struct root_geometry *geo, wlr_surface_iterator_func_t iterator,
89 void *user_data); 98 void *user_data);
90 99
91void output_unmanaged_for_each_surface(struct wl_list *unmanaged, 100#ifdef HAVE_XWAYLAND
92 struct sway_output *output, struct root_geometry *geo, 101void output_unmanaged_for_each_surface(struct sway_output *output,
93 wlr_surface_iterator_func_t iterator, void *user_data); 102 struct wl_list *unmanaged, sway_surface_iterator_func_t iterator,
103 void *user_data);
104#endif
94 105
95void output_drag_icons_for_each_surface(struct wl_list *drag_icons, 106void output_drag_icons_for_each_surface(struct wl_list *drag_icons,
96 struct sway_output *output, struct root_geometry *geo, 107 struct sway_output *output, struct root_geometry *geo,