aboutsummaryrefslogtreecommitdiffstats
path: root/sway/desktop/output.c
diff options
context:
space:
mode:
authorLibravatar emersion <contact@emersion.fr>2018-07-27 18:44:36 +0100
committerLibravatar emersion <contact@emersion.fr>2018-07-29 14:33:26 +0100
commitdbf6dd0daec9e712a002c3e01accbd0fee769fac (patch)
tree21a9a3e7cae9818aa6b1876dc3fccf8d9a5f470c /sway/desktop/output.c
parentwip: redesign output_unmanaged_for_each_surface iterator (diff)
downloadsway-dbf6dd0daec9e712a002c3e01accbd0fee769fac.tar.gz
sway-dbf6dd0daec9e712a002c3e01accbd0fee769fac.tar.zst
sway-dbf6dd0daec9e712a002c3e01accbd0fee769fac.zip
wip: redesign output_drag_icons_for_each_surface iterator
Diffstat (limited to 'sway/desktop/output.c')
-rw-r--r--sway/desktop/output.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/sway/desktop/output.c b/sway/desktop/output.c
index 9c2a1a07..e83a9a3d 100644
--- a/sway/desktop/output.c
+++ b/sway/desktop/output.c
@@ -197,17 +197,18 @@ void output_unmanaged_for_each_surface(struct sway_output *output,
197} 197}
198#endif 198#endif
199 199
200void output_drag_icons_for_each_surface(struct wl_list *drag_icons, 200void output_drag_icons_for_each_surface(struct sway_output *output,
201 struct sway_output *output, struct root_geometry *geo, 201 struct wl_list *drag_icons, sway_surface_iterator_func_t iterator,
202 wlr_surface_iterator_func_t iterator, void *user_data) { 202 void *user_data) {
203 struct sway_drag_icon *drag_icon; 203 struct sway_drag_icon *drag_icon;
204 wl_list_for_each(drag_icon, drag_icons, link) { 204 wl_list_for_each(drag_icon, drag_icons, link) {
205 double ox = drag_icon->x - output->swayc->x; 205 double ox = drag_icon->x - output->swayc->x;
206 double oy = drag_icon->y - output->swayc->y; 206 double oy = drag_icon->y - output->swayc->y;
207 207
208 if (drag_icon->wlr_drag_icon->mapped) { 208 if (drag_icon->wlr_drag_icon->mapped) {
209 output_surface_for_each_surface(drag_icon->wlr_drag_icon->surface, 209 output_surface_for_each_surface2(output,
210 ox, oy, geo, iterator, user_data); 210 drag_icon->wlr_drag_icon->surface, ox, oy, 0,
211 iterator, user_data);
211 } 212 }
212 } 213 }
213} 214}
@@ -303,8 +304,8 @@ static void send_frame_done_unmanaged(struct send_frame_done_data *data,
303 304
304static void send_frame_done_drag_icons(struct send_frame_done_data *data, 305static void send_frame_done_drag_icons(struct send_frame_done_data *data,
305 struct wl_list *drag_icons) { 306 struct wl_list *drag_icons) {
306 output_drag_icons_for_each_surface(drag_icons, data->output, &data->root_geo, 307 output_drag_icons_for_each_surface(data->output, drag_icons,
307 send_frame_done_iterator, data); 308 send_frame_done_iterator2, data);
308} 309}
309 310
310static void send_frame_done_container_iterator(struct sway_container *con, 311static void send_frame_done_container_iterator(struct sway_container *con,