Struct layout_2013::table_cell::TableCellFlow
source · #[repr(C)]pub struct TableCellFlow {
pub block_flow: BlockFlow,
pub collapsed_borders: CollapsedBordersForCell,
pub column_span: u32,
pub row_span: u32,
pub visible: bool,
}
Expand description
A table formatting context.
Fields§
§block_flow: BlockFlow
Data common to all block flows.
collapsed_borders: CollapsedBordersForCell
Border collapse information for the cell.
column_span: u32
The column span of this cell.
row_span: u32
The rows spanned by this cell.
visible: bool
Whether this cell is visible. If false, the value of empty-cells
means that we must not
display this cell.
Implementations§
source§impl TableCellFlow
impl TableCellFlow
pub fn from_fragment(fragment: Fragment) -> TableCellFlow
pub fn from_node_fragment_and_visibility_flag<'dom>( node: &impl ThreadSafeLayoutNode<'dom>, fragment: Fragment, visible: bool, ) -> TableCellFlow
pub fn fragment(&mut self) -> &Fragment
pub fn mut_fragment(&mut self) -> &mut Fragment
sourcefn assign_block_size_table_cell_base(
&mut self,
layout_context: &LayoutContext<'_>,
)
fn assign_block_size_table_cell_base( &mut self, layout_context: &LayoutContext<'_>, )
Assign block-size for table-cell flow.
inline(always) because this is only ever called by in-order or non-in-order top-level methods.
sourcepub fn valign_children(&mut self)
pub fn valign_children(&mut self)
Position this cell’s children according to vertical-align.
pub fn total_block_size(&mut self) -> Au
Trait Implementations§
source§impl Debug for TableCellFlow
impl Debug for TableCellFlow
source§impl Flow for TableCellFlow
impl Flow for TableCellFlow
source§fn bubble_inline_sizes(&mut self)
fn bubble_inline_sizes(&mut self)
Minimum/preferred inline-sizes set by this function are used in automatic table layout calculation.
source§fn assign_inline_sizes(&mut self, layout_context: &LayoutContext<'_>)
fn assign_inline_sizes(&mut self, layout_context: &LayoutContext<'_>)
Recursively (top-down) determines the actual inline-size of child contexts and fragments. When called on this context, the context has had its inline-size set by the parent table row.
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 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 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 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 build_display_list(&mut self, _: &mut DisplayListBuildState<'_>)
fn build_display_list(&mut self, _: &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 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.
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 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 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 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_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_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 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 moresource§fn place_float_if_applicable(&mut self)
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
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
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<'_>)
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)
fn mark_as_root(&mut self)
Marks this flow as the root flow. The default implementation is a no-op.
fn is_root(&self) -> bool
source§fn positioning(&self) -> Position
fn positioning(&self) -> Position
The ‘position’ property of this flow.
fn contains_positioned_fragments(&self) -> bool
fn contains_relatively_positioned_fragments(&self) -> bool
fn clipping_and_scrolling(&self) -> ClippingAndScrolling
source§impl Serialize for TableCellFlow
impl Serialize for TableCellFlow
impl HasBaseFlow for TableCellFlow
Auto Trait Implementations§
impl !Freeze for TableCellFlow
impl !RefUnwindSafe for TableCellFlow
impl Send for TableCellFlow
impl Sync for TableCellFlow
impl Unpin for TableCellFlow
impl !UnwindSafe for TableCellFlow
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