pub struct ScrollTree { /* private fields */ }Expand description
Directed graph of scrollable containers, keyed by DOM node index.
The parent chain defines how unconsumed scroll delta bubbles up. Rebuilt after each layout pass from the fragment tree.
Implementations§
Source§impl ScrollTree
impl ScrollTree
pub fn new() -> Self
pub fn set(&mut self, dom_id: u32, node: ScrollNode)
pub fn get(&self, dom_id: u32) -> Option<&ScrollNode>
pub fn contains(&self, dom_id: u32) -> bool
Sourcepub fn root_scroller(&self) -> Option<u32>
pub fn root_scroller(&self) -> Option<u32>
The root scroller — cached during set() / sync(). O(1).
Sourcepub fn chain(&self, start: u32) -> ScrollChain<'_> ⓘ
pub fn chain(&self, start: u32) -> ScrollChain<'_> ⓘ
Iterate the scroll chain from start toward the root scroller.
Trait Implementations§
Source§impl Clone for ScrollTree
impl Clone for ScrollTree
Source§fn clone(&self) -> ScrollTree
fn clone(&self) -> ScrollTree
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for ScrollTree
impl RefUnwindSafe for ScrollTree
impl Send for ScrollTree
impl Sync for ScrollTree
impl Unpin for ScrollTree
impl UnsafeUnpin for ScrollTree
impl UnwindSafe for ScrollTree
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> MaybeBoxed<Box<T>> for T
impl<T> MaybeBoxed<Box<T>> for T
Source§fn maybe_boxed(self) -> Box<T>
fn maybe_boxed(self) -> Box<T>
Convert
Source§impl<T> MaybeBoxed<T> for T
impl<T> MaybeBoxed<T> for T
Source§fn maybe_boxed(self) -> T
fn maybe_boxed(self) -> T
Convert