diff options
author | Kirill Primak <[email protected]> | 2022-11-05 13:34:29 +0300 |
---|---|---|
committer | Kirill Primak <[email protected]> | 2022-11-05 14:44:57 +0300 |
commit | 0500183cfa49ff289487a81a511a847ab25f407a (patch) | |
tree | 7312fba8bbc78a83538773d2e01bf30cbf22985b | |
parent | 06aea43a1d277263438057132998896785163f90 (diff) |
scene: fix buffer source box transforming
-rw-r--r-- | wlr_scene.c | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/wlr_scene.c b/wlr_scene.c index 69d6f4a..c0be855 100644 --- a/wlr_scene.c +++ b/wlr_scene.c @@ -613,16 +613,13 @@ void wlr_scene_buffer_set_buffer_with_damage(struct wlr_scene_buffer *scene_buff if (wlr_fbox_empty(&box)) { box.x = 0; box.y = 0; - - if (scene_buffer->transform & WL_OUTPUT_TRANSFORM_90) { - box.width = buffer->height; - box.height = buffer->width; - } else { - box.width = buffer->width; - box.height = buffer->height; - } + box.width = buffer->width; + box.height = buffer->height; } + wlr_fbox_transform(&box, &box, scene_buffer->transform, + buffer->width, buffer->height); + double scale_x, scale_y; if (scene_buffer->dst_width || scene_buffer->dst_height) { scale_x = scene_buffer->dst_width / box.width; |