Struct layout_2013::table_row::TableRowFlow
source · #[repr(C)]pub struct TableRowFlow {
pub block_flow: BlockFlow,
pub cell_intrinsic_inline_sizes: Vec<CellIntrinsicInlineSize>,
pub column_computed_inline_sizes: Vec<ColumnComputedInlineSize>,
pub incoming_rowspan: Vec<u32>,
pub spacing: T,
pub table_writing_mode: WritingMode,
pub preliminary_collapsed_borders: CollapsedBordersForRow,
pub final_collapsed_borders: CollapsedBordersForRow,
pub collapsed_border_spacing: CollapsedBorderSpacingForRow,
}
Expand description
A single row of a table.
Fields§
§block_flow: BlockFlow
Fields common to all block flows.
cell_intrinsic_inline_sizes: Vec<CellIntrinsicInlineSize>
Information about the intrinsic inline-sizes of each cell.
column_computed_inline_sizes: Vec<ColumnComputedInlineSize>
Information about the computed inline-sizes of each column.
incoming_rowspan: Vec<u32>
The number of remaining rows spanned by cells in previous rows, indexed by column.
Columns that are not included in this vector have the default rowspan of “1”. If there are no cells with rowspan != 1 in previous rows, this vector may be empty.
spacing: T
The spacing for this row, propagated down from the table during the inline-size assignment phase.
table_writing_mode: WritingMode
The direction of the columns, propagated down from the table during the inline-size assignment phase.
preliminary_collapsed_borders: CollapsedBordersForRow
Information about the borders for each cell that we bubble up to our parent. This is only
computed if border-collapse
is collapse
.
final_collapsed_borders: CollapsedBordersForRow
Information about the borders for each cell, post-collapse. This is only computed if
border-collapse
is collapse
.
collapsed_border_spacing: CollapsedBorderSpacingForRow
The computed cell spacing widths post-collapse.
Implementations§
source§impl TableRowFlow
impl TableRowFlow
pub fn from_fragment(fragment: Fragment) -> TableRowFlow
sourcepub fn compute_block_size_table_row_base(
&mut self,
layout_context: &LayoutContext<'_>,
incoming_rowspan_data: &mut Vec<Au>,
border_info: &[TableRowSizeData],
row_index: usize,
) -> Au
pub fn compute_block_size_table_row_base( &mut self, layout_context: &LayoutContext<'_>, incoming_rowspan_data: &mut Vec<Au>, border_info: &[TableRowSizeData], row_index: usize, ) -> Au
Compute block-size for table-row flow.
TODO(pcwalton): This doesn’t handle floats and positioned elements right.
Returns the block size
pub fn assign_block_size_to_self_and_children( &mut self, sizes: &[TableRowSizeData], index: usize, )
pub fn populate_collapsed_border_spacing<'a, I>( &mut self, collapsed_inline_direction_border_widths_for_table: &[Au], collapsed_block_direction_border_widths_for_table: &mut Peekable<I>, )
Trait Implementations§
source§impl Debug for TableRowFlow
impl Debug for TableRowFlow
source§impl Flow for TableRowFlow
impl Flow for TableRowFlow
source§fn bubble_inline_sizes(&mut self)
fn bubble_inline_sizes(&mut self)
Recursively (bottom-up) determines the context’s preferred and minimum inline-sizes. When called on this context, all child contexts have had their min/pref inline-sizes set. This function must decide min/pref inline-sizes based on child context inline-sizes and dimensions of any fragments it is responsible for flowing. Min/pref inline-sizes set by this function are used in automatic table layout calculation. The specified column inline-sizes of children cells are used in fixed table layout calculation.
source§fn as_mut_table_row(&mut self) -> &mut TableRowFlow
fn as_mut_table_row(&mut self) -> &mut TableRowFlow
source§fn as_table_row(&self) -> &TableRowFlow
fn as_table_row(&self) -> &TableRowFlow
source§fn as_mut_block(&mut self) -> &mut BlockFlow
fn as_mut_block(&mut self) -> &mut BlockFlow
source§fn as_block(&self) -> &BlockFlow
fn as_block(&self) -> &BlockFlow
source§fn assign_inline_sizes(&mut self, layout_context: &LayoutContext<'_>)
fn assign_inline_sizes(&mut self, layout_context: &LayoutContext<'_>)
source§fn assign_block_size(&mut self, _: &LayoutContext<'_>)
fn assign_block_size(&mut self, _: &LayoutContext<'_>)
source§fn compute_stacking_relative_position(
&mut self,
layout_context: &LayoutContext<'_>,
)
fn compute_stacking_relative_position( &mut self, layout_context: &LayoutContext<'_>, )
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, )
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, )
source§fn build_display_list(&mut self, _: &mut DisplayListBuildState<'_>)
fn build_display_list(&mut self, _: &mut DisplayListBuildState<'_>)
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>)
source§fn compute_overflow(&self) -> Overflow
fn compute_overflow(&self) -> Overflow
source§fn contains_roots_of_absolute_flow_tree(&self) -> bool
fn contains_roots_of_absolute_flow_tree(&self) -> bool
source§fn is_absolute_containing_block(&self) -> bool
fn is_absolute_containing_block(&self) -> bool
source§fn generated_containing_block_size(&self, flow: OpaqueFlow) -> LogicalSize<Au>
fn generated_containing_block_size(&self, flow: OpaqueFlow) -> LogicalSize<Au>
for_flow
. For block flows, this is the padding box. Read moresource§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>, )
source§fn mutate_fragments(&mut self, mutator: &mut dyn FnMut(&mut Fragment))
fn mutate_fragments(&mut self, mutator: &mut dyn FnMut(&mut Fragment))
source§fn print_extra_flow_children(&self, print_tree: &mut PrintTree)
fn print_extra_flow_children(&self, print_tree: &mut PrintTree)
source§fn as_flex(&self) -> &FlexFlow
fn as_flex(&self) -> &FlexFlow
source§fn as_inline(&self) -> &InlineFlow
fn as_inline(&self) -> &InlineFlow
source§fn as_mut_inline(&mut self) -> &mut InlineFlow
fn as_mut_inline(&mut self) -> &mut InlineFlow
source§fn as_table_wrapper(&self) -> &TableWrapperFlow
fn as_table_wrapper(&self) -> &TableWrapperFlow
source§fn as_mut_table(&mut self) -> &mut TableFlow
fn as_mut_table(&mut self) -> &mut TableFlow
source§fn as_table(&self) -> &TableFlow
fn as_table(&self) -> &TableFlow
source§fn as_mut_table_colgroup(&mut self) -> &mut TableColGroupFlow
fn as_mut_table_colgroup(&mut self) -> &mut TableColGroupFlow
source§fn as_table_colgroup(&self) -> &TableColGroupFlow
fn as_table_colgroup(&self) -> &TableColGroupFlow
source§fn as_mut_table_rowgroup(&mut self) -> &mut TableRowGroupFlow
fn as_mut_table_rowgroup(&mut self) -> &mut TableRowGroupFlow
source§fn as_table_rowgroup(&self) -> &TableRowGroupFlow
fn as_table_rowgroup(&self) -> &TableRowGroupFlow
source§fn as_mut_table_cell(&mut self) -> &mut TableCellFlow
fn as_mut_table_cell(&mut self) -> &mut TableCellFlow
source§fn as_table_cell(&self) -> &TableCellFlow
fn as_table_cell(&self) -> &TableCellFlow
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>>
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 moresource§fn place_float_if_applicable(&mut self)
fn place_float_if_applicable(&mut self)
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
fn 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<'_>)
source§fn mark_as_root(&mut self)
fn mark_as_root(&mut self)
fn is_root(&self) -> bool
source§fn positioning(&self) -> Position
fn positioning(&self) -> Position
fn contains_positioned_fragments(&self) -> bool
fn contains_relatively_positioned_fragments(&self) -> bool
fn clipping_and_scrolling(&self) -> ClippingAndScrolling
source§impl Serialize for TableRowFlow
impl Serialize for TableRowFlow
impl HasBaseFlow for TableRowFlow
Auto Trait Implementations§
impl !Freeze for TableRowFlow
impl !RefUnwindSafe for TableRowFlow
impl Send for TableRowFlow
impl Sync for TableRowFlow
impl Unpin for TableRowFlow
impl !UnwindSafe for TableRowFlow
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> 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>
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