Struct layout_2020::flow::inline::InlineContainerState
source · pub(super) struct InlineContainerState {
style: Arc<ComputedValues>,
flags: InlineContainerStateFlags,
has_content: RefCell<bool>,
text_decoration_line: TextDecorationLine,
strut_block_sizes: LineBlockSizes,
nested_strut_block_sizes: LineBlockSizes,
pub baseline_offset: Au,
font_metrics: FontMetrics,
}
Fields§
§style: Arc<ComputedValues>
The style of this inline container.
flags: InlineContainerStateFlags
Flags which describe details of this InlineContainerState
.
has_content: RefCell<bool>
Whether or not we have processed any content (an atomic element or text) for this inline box on the current line OR any previous line.
text_decoration_line: TextDecorationLine
Indicates whether this nesting level have text decorations in effect. From https://drafts.csswg.org/css-text-decor/#line-decoration
strut_block_sizes: LineBlockSizes
The block size contribution of this container’s default font ie the size of the
“strut.” Whether this is integrated into the Self::nested_strut_block_sizes
depends on the line-height quirk described in
https://quirks.spec.whatwg.org/#the-line-height-calculation-quirk.
nested_strut_block_sizes: LineBlockSizes
The strut block size of this inline container maxed with the strut block sizes of all inline container ancestors. In quirks mode, this will be zero, until we know that an element has inline content.
baseline_offset: Au
The baseline offset of this container from the baseline of the line. The is the
cumulative offset of this container and all of its parents. In contrast to the
vertical-align
property a positive value indicates an offset “below” the
baseline while a negative value indicates one “above” it (when the block direction
is vertical).
font_metrics: FontMetrics
The font metrics of the non-fallback font for this container.
Implementations§
source§impl InlineContainerState
impl InlineContainerState
fn new( style: Arc<ComputedValues>, flags: InlineContainerStateFlags, parent_container: Option<&InlineContainerState>, parent_text_decoration_line: TextDecorationLine, font_metrics: Option<&FontMetrics>, ) -> Self
fn get_block_sizes_with_style( vertical_align: VerticalAlign, style: &ComputedValues, font_metrics: &FontMetrics, font_metrics_of_first_font: &FontMetrics, line_height: Au, ) -> LineBlockSizes
fn get_block_size_contribution( &self, vertical_align: VerticalAlign, font_metrics: &FontMetrics, font_metrics_of_first_font: &FontMetrics, ) -> LineBlockSizes
fn get_cumulative_baseline_offset_for_child( &self, child_vertical_align: VerticalAlign, child_block_size: &LineBlockSizes, ) -> Au
Auto Trait Implementations§
impl !Freeze for InlineContainerState
impl !RefUnwindSafe for InlineContainerState
impl Send for InlineContainerState
impl !Sync for InlineContainerState
impl Unpin for InlineContainerState
impl !UnwindSafe for InlineContainerState
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
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>
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>
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 more