Add explicit orthogonal span sizing

This commit is contained in:
iris-ai committed 2026-09-15 16:40:09 -04:00
1 parent 29c7881c8a
commit f437495309
7 files changed
+108 -8

No files matched your search

+19
View File
@@ -264,6 +264,25 @@ fn a_resize_does_not_redraw_what_the_shader_can_move() {
assert_corners!(h, leaf, (0, 0), (800, 100));
}
#[test]
fn a_full_ortho_span_moves_its_child_without_redrawing_it() {
let mut h = Harness::new((400, 200));
let (leaf, draws) = counted(&mut h, Size::LEFTOVER, false);
let span = (leaf,)
.span(Dir::RIGHT)
.ortho(OrthoSize::Full)
.add(&mut h.rsc);
h.set_root(span);
let settled = draws.get();
h.resize((400, 100));
h.frame();
assert_eq!(draws.get(), settled);
assert_corners!(h, leaf, (0, 0), (400, 100));
assert_eq!(h.render.active[&span.id()].size.y, Len::rel(1.0));
}
/// The output is the root of the box chain, so a resize is a box that changed
/// length like any other -- there is not a second rule for the window. A
/// drawing that holds for one length is drawn again whichever box moved.