Struct layout_2013::block::AbsoluteAssignBSizesTraversal
source · pub struct AbsoluteAssignBSizesTraversal<'a>(pub &'a SharedStyleContext<'a>);
Expand description
The real assign-block-sizes traversal for flows with position ‘absolute’.
This is a traversal of an Absolute Flow tree.
- Relatively positioned flows and the Root flow start new Absolute flow trees.
- The kids of a flow in this tree will be the flows for which it is the absolute Containing Block.
- Thus, leaf nodes and inner non-root nodes are all Absolute Flows.
A Flow tree can have several Absolute Flow trees (depending on the number of relatively positioned flows it has).
Note that flows with position ‘fixed’ just form a flat list as they all have the Root flow as their CB.
Tuple Fields§
§0: &'a SharedStyleContext<'a>
Trait Implementations§
source§impl<'a> PreorderFlowTraversal for AbsoluteAssignBSizesTraversal<'a>
impl<'a> PreorderFlowTraversal for AbsoluteAssignBSizesTraversal<'a>
source§fn process(&self, flow: &mut dyn Flow)
fn process(&self, flow: &mut dyn Flow)
The operation to perform. Return true to continue or false to stop.
source§fn should_process_subtree(&self, _flow: &mut dyn Flow) -> bool
fn should_process_subtree(&self, _flow: &mut dyn Flow) -> bool
Returns true if this node should be processed and false if neither this node nor its
descendants should be processed.
source§fn should_process(&self, _flow: &mut dyn Flow) -> bool
fn should_process(&self, _flow: &mut dyn Flow) -> bool
Returns true if this node must be processed in-order. If this returns false,
we skip the operation for this node, but continue processing the descendants.
This is called after parent nodes are visited.
source§fn traverse_absolute_flows(&self, flow: &mut dyn Flow)
fn traverse_absolute_flows(&self, flow: &mut dyn Flow)
Traverse the Absolute flow tree in preorder. Read more
Auto Trait Implementations§
impl<'a> Freeze for AbsoluteAssignBSizesTraversal<'a>
impl<'a> !RefUnwindSafe for AbsoluteAssignBSizesTraversal<'a>
impl<'a> Send for AbsoluteAssignBSizesTraversal<'a>
impl<'a> Sync for AbsoluteAssignBSizesTraversal<'a>
impl<'a> Unpin for AbsoluteAssignBSizesTraversal<'a>
impl<'a> !UnwindSafe for AbsoluteAssignBSizesTraversal<'a>
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> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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