scene_graph: Port seat drag icons

This commit is contained in:
Alexander Orzechowski 2023-11-21 19:55:47 -05:00 committed by Kirill Primak
parent 9c17cba0b2
commit c640c3015f
10 changed files with 53 additions and 131 deletions

View file

@ -259,22 +259,6 @@ void output_unmanaged_for_each_surface(struct sway_output *output,
}
#endif
void output_drag_icons_for_each_surface(struct sway_output *output,
struct wl_list *drag_icons, sway_surface_iterator_func_t iterator,
void *user_data) {
struct sway_drag_icon *drag_icon;
wl_list_for_each(drag_icon, drag_icons, link) {
double ox = drag_icon->x - output->lx;
double oy = drag_icon->y - output->ly;
if (drag_icon->wlr_drag_icon->surface->mapped) {
output_surface_for_each_surface(output,
drag_icon->wlr_drag_icon->surface, ox, oy,
iterator, user_data);
}
}
}
static int scale_length(int length, int offset, float scale) {
return roundf((offset + length) * scale) - roundf(offset * scale);
}

View file

@ -184,15 +184,6 @@ static void render_unmanaged(struct render_context *ctx, struct wl_list *unmanag
}
#endif
static void render_drag_icons(struct render_context *ctx, struct wl_list *drag_icons) {
struct render_data data = {
.alpha = 1.0f,
.ctx = ctx,
};
output_drag_icons_for_each_surface(ctx->output, drag_icons,
render_surface_iterator, &data);
}
// _box.x and .y are expected to be layout-local
// _box.width and .height are expected to be output-buffer-local
void render_rect(struct render_context *ctx, const struct wlr_box *_box,
@ -1131,7 +1122,6 @@ render_overlay:
&output->shell_layers[ZWLR_LAYER_SHELL_V1_LAYER_OVERLAY]);
render_layer_popups(ctx,
&output->shell_layers[ZWLR_LAYER_SHELL_V1_LAYER_OVERLAY]);
render_drag_icons(ctx, &root->drag_icons);
renderer_end:
pixman_region32_fini(&transformed_damage);