Struct layout_2013::flow::AbsoluteDescendantInfo
source · pub struct AbsoluteDescendantInfo {
flow: FlowRef,
has_reached_containing_block: bool,
}
Expand description
Information about each absolutely-positioned descendant of the given flow.
Fields§
§flow: FlowRef
The absolute descendant flow in question.
has_reached_containing_block: bool
Whether the absolute descendant has reached its containing block. This exists so that we can handle cases like the following:
<div>
<span id=a style="position: absolute; ...">foo</span>
<span style="position: relative">
<span id=b style="position: absolute; ...">bar</span>
</span>
</div>
When we go to create the InlineFlow
for the outer div
, our absolute descendants will
be a
and b
. At this point, we need a way to distinguish between the two, because the
containing block for a
will be different from the containing block for b
. Specifically,
the latter’s containing block is the inline flow itself, while the former’s containing
block is going to be some parent of the outer div
. Hence we need this flag as a way to
distinguish the two; it will be false for a
and true for b
.
Trait Implementations§
source§impl Clone for AbsoluteDescendantInfo
impl Clone for AbsoluteDescendantInfo
source§fn clone(&self) -> AbsoluteDescendantInfo
fn clone(&self) -> AbsoluteDescendantInfo
Returns a copy 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 AbsoluteDescendantInfo
impl !RefUnwindSafe for AbsoluteDescendantInfo
impl Send for AbsoluteDescendantInfo
impl Sync for AbsoluteDescendantInfo
impl Unpin for AbsoluteDescendantInfo
impl !UnwindSafe for AbsoluteDescendantInfo
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