pub struct ListSlice { /* private fields */ }Expand description
One frame’s slicing of a variable-height list, between the reading and
the rows: which rows to measure, and — once they are — where the window
lands and what to build. Made by RowHeights::slice; see list
for the loop that drives it, which every binding’s port repeats.
Implementations§
Source§impl ListSlice
impl ListSlice
Sourcepub fn unmeasured(&self, heights: &RowHeights) -> Vec<usize>
pub fn unmeasured(&self, heights: &RowHeights) -> Vec<usize>
The rows of the current range nothing has measured: measure each,
RowHeights::set it, then Self::reslice. Empty is done.
Sourcepub fn reslice(&mut self, heights: &mut RowHeights) -> bool
pub fn reslice(&mut self, heights: &mut RowHeights) -> bool
After measuring: puts the anchor row back where it was and slices again. Measuring moved the numbers the slice was taken from — this row’s own, the rows above it, and (through the mean) every row nobody has measured at all — so what is under the pointer would otherwise slide out from under it. True when the range moved and its new rows want measuring, within the pass budget.
Sourcepub fn finish(self, heights: &mut RowHeights) -> ListPlan
pub fn finish(self, heights: &mut RowHeights) -> ListPlan
The rows to build, the spacers, and the correction.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for ListSlice
impl RefUnwindSafe for ListSlice
impl Send for ListSlice
impl Sync for ListSlice
impl Unpin for ListSlice
impl UnsafeUnpin for ListSlice
impl UnwindSafe for ListSlice
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.