Struct layout_2013::table_wrapper::TableWrapperFlow
source · #[repr(C)]pub struct TableWrapperFlow {
pub block_flow: BlockFlow,
pub column_intrinsic_inline_sizes: Vec<ColumnIntrinsicInlineSize>,
pub table_layout: TableLayout,
}
Expand description
A table wrapper flow based on a block formatting context.
Fields§
§block_flow: BlockFlow
§column_intrinsic_inline_sizes: Vec<ColumnIntrinsicInlineSize>
Intrinsic column inline sizes according to INTRINSIC § 4.1
table_layout: TableLayout
Table-layout property
Implementations§
source§impl TableWrapperFlow
impl TableWrapperFlow
pub fn from_fragment(fragment: Fragment) -> TableWrapperFlow
pub fn from_fragment_and_float_kind( fragment: Fragment, float_kind: Option<FloatKind>, ) -> TableWrapperFlow
fn border_padding_and_spacing(&mut self) -> (Au, Au)
fn compute_border_and_padding_of_table(&mut self)
sourcefn calculate_table_column_sizes_for_automatic_layout(
&mut self,
intermediate_column_inline_sizes: &mut [IntermediateColumnInlineSize],
)
fn calculate_table_column_sizes_for_automatic_layout( &mut self, intermediate_column_inline_sizes: &mut [IntermediateColumnInlineSize], )
Calculates table column sizes for automatic layout per INTRINSIC § 4.3.
fn available_inline_size(&mut self) -> Au
fn set_inline_size(&mut self, total_used_inline_size: Au)
fn compute_used_inline_size( &mut self, shared_context: &SharedStyleContext<'_>, parent_flow_inline_size: Au, intermediate_column_inline_sizes: &[IntermediateColumnInlineSize], )
Trait Implementations§
source§impl Debug for TableWrapperFlow
impl Debug for TableWrapperFlow
source§impl Flow for TableWrapperFlow
impl Flow for TableWrapperFlow
source§fn as_table_wrapper(&self) -> &TableWrapperFlow
fn as_table_wrapper(&self) -> &TableWrapperFlow
If this is a table wrapper flow, returns the underlying object. Fails otherwise.
source§fn as_mut_block(&mut self) -> &mut BlockFlow
fn as_mut_block(&mut self) -> &mut BlockFlow
If this is a block flow, returns the underlying object, borrowed mutably. Fails otherwise.
source§fn as_block(&self) -> &BlockFlow
fn as_block(&self) -> &BlockFlow
If this is a block flow, returns the underlying object. Fails otherwise.
source§fn mark_as_root(&mut self)
fn mark_as_root(&mut self)
Marks this flow as the root flow. The default implementation is a no-op.
source§fn bubble_inline_sizes(&mut self)
fn bubble_inline_sizes(&mut self)
Pass 1 of reflow: computes minimum and preferred inline-sizes. Read more
source§fn assign_inline_sizes(&mut self, layout_context: &LayoutContext<'_>)
fn assign_inline_sizes(&mut self, layout_context: &LayoutContext<'_>)
Pass 2 of reflow: computes inline-size.
source§fn assign_block_size(&mut self, layout_context: &LayoutContext<'_>)
fn assign_block_size(&mut self, layout_context: &LayoutContext<'_>)
Pass 3a of reflow: computes block-size.
source§fn compute_stacking_relative_position(
&mut self,
layout_context: &LayoutContext<'_>,
)
fn compute_stacking_relative_position( &mut self, layout_context: &LayoutContext<'_>, )
Phase 4 of reflow: Compute the stacking-relative position (origin of the content box,
in coordinates relative to the nearest ancestor stacking context).
source§fn place_float_if_applicable<'a>(&mut self)
fn place_float_if_applicable<'a>(&mut self)
If this is a float, places it. The default implementation does nothing.
source§fn assign_block_size_for_inorder_child_if_necessary(
&mut self,
layout_context: &LayoutContext<'_>,
parent_thread_id: u8,
content_box: LogicalRect<Au>,
) -> bool
fn assign_block_size_for_inorder_child_if_necessary( &mut self, layout_context: &LayoutContext<'_>, parent_thread_id: u8, content_box: LogicalRect<Au>, ) -> bool
Assigns block-sizes in-order; or, if this is a float, places the float. The default
implementation simply assigns block-sizes if this flow might have floats in. Returns true
if it was determined that this child might have had floats in or false otherwise. Read more
source§fn update_late_computed_inline_position_if_necessary(
&mut self,
inline_position: Au,
)
fn update_late_computed_inline_position_if_necessary( &mut self, inline_position: Au, )
Updates the inline position of a child flow during the assign-height traversal. At present,
this is only used for absolutely-positioned inline-blocks.
source§fn update_late_computed_block_position_if_necessary(
&mut self,
block_position: Au,
)
fn update_late_computed_block_position_if_necessary( &mut self, block_position: Au, )
Updates the block position of a child flow during the assign-height traversal. At present,
this is only used for absolutely-positioned inline-blocks.
source§fn generated_containing_block_size(&self, flow: OpaqueFlow) -> LogicalSize<Au>
fn generated_containing_block_size(&self, flow: OpaqueFlow) -> LogicalSize<Au>
Return the size of the containing block generated by this flow for the absolutely-
positioned descendant referenced by
for_flow
. For block flows, this is the padding box. Read moresource§fn build_display_list(&mut self, state: &mut DisplayListBuildState<'_>)
fn build_display_list(&mut self, state: &mut DisplayListBuildState<'_>)
Phase 5 of reflow: builds display lists.
fn collect_stacking_contexts( &mut self, state: &mut StackingContextCollectionState, )
source§fn repair_style(&mut self, new_style: &Arc<ComputedValues>)
fn repair_style(&mut self, new_style: &Arc<ComputedValues>)
Attempts to perform incremental fixup of this flow by replacing its fragment’s style with
the new style. This can only succeed if the flow has exactly one fragment.
source§fn compute_overflow(&self) -> Overflow
fn compute_overflow(&self) -> Overflow
Returns the union of all overflow rects of all of this flow’s fragments.
source§fn iterate_through_fragment_border_boxes(
&self,
iterator: &mut dyn FragmentBorderBoxIterator,
level: i32,
stacking_context_position: &Point2D<Au>,
)
fn iterate_through_fragment_border_boxes( &self, iterator: &mut dyn FragmentBorderBoxIterator, level: i32, stacking_context_position: &Point2D<Au>, )
Iterates through border boxes of all of this flow’s fragments.
Level provides a zero based index indicating the current
depth of the flow tree during fragment iteration.
source§fn mutate_fragments(&mut self, mutator: &mut dyn FnMut(&mut Fragment))
fn mutate_fragments(&mut self, mutator: &mut dyn FnMut(&mut Fragment))
Mutably iterates through fragments in this flow.
source§fn print_extra_flow_children(&self, print_tree: &mut PrintTree)
fn print_extra_flow_children(&self, print_tree: &mut PrintTree)
Print any extra children (such as fragments) contained in this Flow
for debugging purposes. Any items inserted into the tree will become
children of this flow.
source§fn positioning(&self) -> T
fn positioning(&self) -> T
The ‘position’ property of this flow.
source§fn as_flex(&self) -> &FlexFlow
fn as_flex(&self) -> &FlexFlow
If this is a flex flow, returns the underlying object. Fails otherwise.
source§fn as_inline(&self) -> &InlineFlow
fn as_inline(&self) -> &InlineFlow
If this is an inline flow, returns the underlying object. Fails otherwise.
source§fn as_mut_inline(&mut self) -> &mut InlineFlow
fn as_mut_inline(&mut self) -> &mut InlineFlow
If this is an inline flow, returns the underlying object, borrowed mutably. Fails
otherwise.
source§fn as_mut_table(&mut self) -> &mut TableFlow
fn as_mut_table(&mut self) -> &mut TableFlow
If this is a table flow, returns the underlying object, borrowed mutably. Fails otherwise.
source§fn as_table(&self) -> &TableFlow
fn as_table(&self) -> &TableFlow
If this is a table flow, returns the underlying object. Fails otherwise.
source§fn as_mut_table_colgroup(&mut self) -> &mut TableColGroupFlow
fn as_mut_table_colgroup(&mut self) -> &mut TableColGroupFlow
If this is a table colgroup flow, returns the underlying object, borrowed mutably. Fails
otherwise.
source§fn as_table_colgroup(&self) -> &TableColGroupFlow
fn as_table_colgroup(&self) -> &TableColGroupFlow
If this is a table colgroup flow, returns the underlying object. Fails
otherwise.
source§fn as_mut_table_rowgroup(&mut self) -> &mut TableRowGroupFlow
fn as_mut_table_rowgroup(&mut self) -> &mut TableRowGroupFlow
If this is a table rowgroup flow, returns the underlying object, borrowed mutably. Fails
otherwise.
source§fn as_table_rowgroup(&self) -> &TableRowGroupFlow
fn as_table_rowgroup(&self) -> &TableRowGroupFlow
If this is a table rowgroup flow, returns the underlying object. Fails otherwise.
source§fn as_mut_table_row(&mut self) -> &mut TableRowFlow
fn as_mut_table_row(&mut self) -> &mut TableRowFlow
If this is a table row flow, returns the underlying object, borrowed mutably. Fails
otherwise.
source§fn as_table_row(&self) -> &TableRowFlow
fn as_table_row(&self) -> &TableRowFlow
If this is a table row flow, returns the underlying object. Fails otherwise.
source§fn as_mut_table_cell(&mut self) -> &mut TableCellFlow
fn as_mut_table_cell(&mut self) -> &mut TableCellFlow
If this is a table cell flow, returns the underlying object, borrowed mutably. Fails
otherwise.
source§fn as_table_cell(&self) -> &TableCellFlow
fn as_table_cell(&self) -> &TableCellFlow
If this is a table cell flow, returns the underlying object. Fails otherwise.
source§fn fragment(
&mut self,
layout_context: &LayoutContext<'_>,
_fragmentation_context: Option<FragmentationContext>,
) -> Option<Arc<dyn Flow>>
fn fragment( &mut self, layout_context: &LayoutContext<'_>, _fragmentation_context: Option<FragmentationContext>, ) -> Option<Arc<dyn Flow>>
Like
assign_block_size
, but is recurses explicitly into descendants.
Fit as much content as possible within available_block_size
.
If that’s not all of it, truncate the contents of self
and return a new flow similar to self
with the rest of the content. Read morefn has_non_invertible_transform_or_zero_scale(&self) -> bool
fn get_overflow_in_parent_coordinates(&self) -> Overflow
source§fn store_overflow(&mut self, _: &LayoutContext<'_>)
fn store_overflow(&mut self, _: &LayoutContext<'_>)
CSS Section 11.1
This is the union of rectangles of the flows for which we define the
Containing Block. Read more
fn is_root(&self) -> bool
fn contains_positioned_fragments(&self) -> bool
fn contains_relatively_positioned_fragments(&self) -> bool
source§fn is_absolute_containing_block(&self) -> bool
fn is_absolute_containing_block(&self) -> bool
Returns true if this is an absolute containing block.
source§fn contains_roots_of_absolute_flow_tree(&self) -> bool
fn contains_roots_of_absolute_flow_tree(&self) -> bool
Returns true if this flow contains fragments that are roots of an absolute flow tree.
fn clipping_and_scrolling(&self) -> ClippingAndScrolling
source§impl Serialize for TableWrapperFlow
impl Serialize for TableWrapperFlow
impl HasBaseFlow for TableWrapperFlow
Auto Trait Implementations§
impl !Freeze for TableWrapperFlow
impl !RefUnwindSafe for TableWrapperFlow
impl Send for TableWrapperFlow
impl Sync for TableWrapperFlow
impl Unpin for TableWrapperFlow
impl !UnwindSafe for TableWrapperFlow
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> GetBaseFlow for Twhere
T: HasBaseFlow + ?Sized,
impl<T> GetBaseFlow for Twhere
T: HasBaseFlow + ?Sized,
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