diff --git a/core/src/ui/painter.rs b/core/src/ui/painter.rs index c09ab0d..4052f88 100644 --- a/core/src/ui/painter.rs +++ b/core/src/ui/painter.rs @@ -541,7 +541,7 @@ impl PrimitiveLike for &TextureHandle { /// method's `impl` block is where a `Painter`'s own boxes are, so it takes /// only what the child was asked with. impl Painter<'_> { - /// Frame ranges are already ranges on the window and combine directly. + /// Window ranges are already about the one unit and combine directly. /// A frame pin becomes this widget's own frame wherever a length of it /// is what reached the child; where only pixels did, no length of this /// frame can change the child's and the pin stops here. @@ -563,8 +563,8 @@ impl Painter<'_> { let mut result = LayoutHolds::ANY; for axis in AXES { let n = axis as usize; - // Every frame range is already a range on the window: the - // widget's own read converted through its frame exactly once. + // Every read became pixels against the window, so a range on + // it is already in this widget's terms. result.window[n] = holds.window[n]; let reaches = narrow[n].is_none() && !matches!(place[n].part(), Part::Sized(_)) @@ -596,10 +596,10 @@ impl Painter<'_> { _ => self.extent.axis(axis).len(), }); } - // Its box is a part of this widget's frame, or a length of - // it decided here: a length of the frame is all that reaches - // it, so what it holds for is a range on the frame and none - // of it on this widget's own box. + // Its box is a length this widget decided, from its own + // frame or from a sibling's answer: no length of this + // widget's box reaches it, so what it holds for is a range + // on the window and none of it on that box. _ => { result.window[n] = result.window[n].and(holds.extent[n].through(extent.axis(axis).len())); diff --git a/core/src/ui/place.rs b/core/src/ui/place.rs index 04821c9..95ff5e3 100644 --- a/core/src/ui/place.rs +++ b/core/src/ui/place.rs @@ -5,14 +5,16 @@ use crate::{AxisAlign, Len, PrimitiveHandle, UiRegion, UiSpan}; pub enum Part { /// The whole of it. All, - /// Frame lengths from where the box starts, which is what a container - /// dividing room among its children speaks: a child's report is a length - /// of the frame, so the cursor that sums those reports is one too. A - /// moved box re-places every child by re-adding its start, exactly. + /// Window lengths from where the box starts, which is what a container + /// dividing room among its children speaks: a child's report is a window + /// length, so the cursor that sums those reports is one too. A moved box + /// re-places every child by re-adding its start, exactly. A fraction + /// here is a fraction of the window and not of the box -- the whole of a + /// box is [`Self::All`], not a `rel(1.0)` span. From(UiSpan), /// A part of the box in its own coordinates, which is what a container /// that insets one speaks: taking eleven pixels off the end needs no - /// length, where saying the same thing in frame lengths would make the + /// length, where saying the same thing in window lengths would make the /// container read its own box -- and a box chosen from its own answer /// then feeds back into the answer. Of(UiSpan),