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

source

pub fn from_fragment(fragment: Fragment) -> TableRowFlow

source

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

source

pub fn assign_block_size_to_self_and_children( &mut self, sizes: &[TableRowSizeData], index: usize, )

source

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>, )
where I: Iterator<Item = &'a Au>,

Trait Implementations§

source§

impl Debug for TableRowFlow

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Flow for TableRowFlow

source§

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 class(&self) -> FlowClass

Returns the class of flow that this is.
source§

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

If this is a table row flow, returns the underlying object. Fails otherwise.
source§

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

If this is a block flow, returns the underlying object. Fails otherwise.
source§

fn assign_inline_sizes(&mut self, layout_context: &LayoutContext<'_>)

Pass 2 of reflow: computes inline-size.
source§

fn assign_block_size(&mut self, _: &LayoutContext<'_>)

Pass 3a of reflow: computes block-size.
source§

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 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, )

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 build_display_list(&mut self, _: &mut DisplayListBuildState<'_>)

Phase 5 of reflow: builds display lists.
source§

fn collect_stacking_contexts( &mut self, state: &mut StackingContextCollectionState, )

source§

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

Returns the union of all overflow rects of all of this flow’s fragments.
source§

fn contains_roots_of_absolute_flow_tree(&self) -> bool

Returns true if this flow contains fragments that are roots of an absolute flow tree.
source§

fn is_absolute_containing_block(&self) -> bool

Returns true if this is an absolute containing block.
source§

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 more
source§

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))

Mutably iterates through fragments in this flow.
source§

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 as_flex(&self) -> &FlexFlow

If this is a flex flow, returns the underlying object. Fails otherwise.
source§

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

If this is an inline flow, returns the underlying object, borrowed mutably. Fails otherwise.
source§

fn as_table_wrapper(&self) -> &TableWrapperFlow

If this is a table wrapper flow, returns the underlying object. Fails otherwise.
source§

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

If this is a table flow, returns the underlying object. Fails otherwise.
source§

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

If this is a table colgroup flow, returns the underlying object. Fails otherwise.
source§

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

If this is a table rowgroup flow, returns the underlying object. Fails otherwise.
source§

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

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>>

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 more
source§

fn place_float_if_applicable(&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

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 has_non_invertible_transform_or_zero_scale(&self) -> bool

source§

fn get_overflow_in_parent_coordinates(&self) -> Overflow

source§

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
source§

fn mark_as_root(&mut self)

Marks this flow as the root flow. The default implementation is a no-op.
source§

fn is_root(&self) -> bool

source§

fn positioning(&self) -> Position

The ‘position’ property of this flow.
source§

fn is_fixed(&self) -> bool

Return true if this flow has position ‘fixed’.
source§

fn contains_positioned_fragments(&self) -> bool

source§

fn contains_relatively_positioned_fragments(&self) -> bool

source§

fn clipping_and_scrolling(&self) -> ClippingAndScrolling

source§

impl Serialize for TableRowFlow

source§

fn serialize<S: Serializer>(&self, serializer: S) -> Result<S::Ok, S::Error>

Serialize this value into the given Serde serializer. Read more
source§

impl HasBaseFlow for TableRowFlow

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> Downcast<T> for T

source§

fn downcast(&self) -> &T

source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> GetBaseFlow for T
where T: HasBaseFlow + ?Sized,

source§

fn base(&self) -> &BaseFlow

source§

fn mut_base(&mut self) -> &mut BaseFlow

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> IntoEither for T

source§

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 more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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 more
source§

impl<T> MaybeBoxed<Box<T>> for T

source§

fn maybe_boxed(self) -> Box<T>

Convert
source§

impl<T> MaybeBoxed<T> for T

source§

fn maybe_boxed(self) -> T

Convert
source§

impl<T> Pointable for T

source§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> Upcast<T> for T

source§

fn upcast(&self) -> Option<&T>

source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

source§

fn vzip(self) -> V

source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

impl<T> ErasedDestructor for T
where T: 'static,

source§

impl<T> MaybeSendSync for T

source§

impl<T> WasmNotSend for T
where T: Send,

source§

impl<T> WasmNotSendSync for T

source§

impl<T> WasmNotSync for T
where T: Sync,