scene: add support for viewporter

If the surface has a source box set, use that.

Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3172
master
Simon Ser 3 years ago committed by Kirill Primak
parent 83d78f9fd4
commit 254ab890e7

@ -715,7 +715,11 @@ static void render_node_iterator(struct wlr_scene_node *node,
wlr_matrix_project_box(matrix, &dst_box, transform, 0.0, wlr_matrix_project_box(matrix, &dst_box, transform, 0.0,
output->transform_matrix); output->transform_matrix);
render_texture(output, output_damage, texture, NULL, &dst_box, matrix); struct wlr_fbox src_box = {0};
wlr_surface_get_buffer_source_box(surface, &src_box);
render_texture(output, output_damage, texture,
&src_box, &dst_box, matrix);
break; break;
case WLR_SCENE_NODE_RECT:; case WLR_SCENE_NODE_RECT:;
struct wlr_scene_rect *scene_rect = scene_rect_from_node(node); struct wlr_scene_rect *scene_rect = scene_rect_from_node(node);

Loading…
Cancel
Save