Read a child's report as a fraction of the containing widget
`rel(0.5)` is half the span whatever else is in it and wherever the child sits among them (Bryan, 2026-09-17). It was half of what the span had left at the point it asked, because a report came back composed through the box it was offered and a span offers each child the room from its cursor -- so a nested span taking half of what it was given took a quarter of a row whose first half was already spoken for, where the same half written as a rule on the child took half the row. The offer stays the remainder: a text has to wrap at the width actually there, and `a_text_in_a_span_wraps_at_the_room_left_rather_than_the_whole_row` pins that. What separates from it is the base a report's fractions are of, which the ask now carries. It is the box the child was given wherever that box is the child's whole area -- a pad's inset, a stack child, a scroll's content -- and a span passes its own extent along the row. `widget_decided` becomes `widget_at`, which says both things about an ask rather than one of them; `widget_within` is still the sugar for neither. Two spans asking for half each now take the whole row between them and a third overflows, which the rewritten `a_span_reads_a_child_report_as_a_fraction_of_the_row` states outright. The five reference renders are byte-identical at 1920x1200 and `random` live-resized still matches a cold render, so nothing that exists reports a fraction to a span today.
This commit is contained in:
1 parent
0e0d4af326
commit
ffd79f32d3
6 files changed
+102
-46
No files matched your search
@@ -32,7 +32,7 @@ pub(super) struct DrawInfo {
|
||||
pub offered_px: PxVec2,
|
||||
/// The axes along which the parent chose this box from the widget's own
|
||||
/// answer, so the answer is not placed inside it again. See
|
||||
/// [`Painter::widget_decided`].
|
||||
/// [`Painter::widget_at`].
|
||||
pub decided: [bool; 2],
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user