Struct layout_2020::table::construct::TableBuilderTraversal
source · pub(crate) struct TableBuilderTraversal<'style, 'dom, Node> {
context: &'style LayoutContext<'style>,
info: &'style NodeAndStyleInfo<Node>,
current_text_decoration_line: TextDecorationLine,
builder: TableBuilder,
current_anonymous_row_content: Vec<AnonymousTableContent<'dom, Node>>,
current_row_group_index: Option<usize>,
}
Fields§
§context: &'style LayoutContext<'style>
§info: &'style NodeAndStyleInfo<Node>
§current_text_decoration_line: TextDecorationLine
The value of the TextDecorationLine
to use, either for the row group
if processing one or for the table itself if outside a row group.
builder: TableBuilder
The TableBuilder
for this TableBuilderTraversal
. This is separated
into another struct so that we can write unit tests against the builder.
current_anonymous_row_content: Vec<AnonymousTableContent<'dom, Node>>
§current_row_group_index: Option<usize>
The index of the current row group, if there is one.
Implementations§
source§impl<'style, 'dom, Node> TableBuilderTraversal<'style, 'dom, Node>where
Node: NodeExt<'dom>,
impl<'style, 'dom, Node> TableBuilderTraversal<'style, 'dom, Node>where
Node: NodeExt<'dom>,
pub(crate) fn new( context: &'style LayoutContext<'style>, info: &'style NodeAndStyleInfo<Node>, grid_style: Arc<ComputedValues>, text_decoration_line: TextDecorationLine, ) -> Self
pub(crate) fn finish(self) -> Table
fn finish_anonymous_row_if_needed(&mut self)
fn push_table_row(&mut self, table_track: TableTrack)
Trait Implementations§
source§impl<'style, 'dom, Node> TraversalHandler<'dom, Node> for TableBuilderTraversal<'style, 'dom, Node>where
Node: NodeExt<'dom> + 'dom,
impl<'style, 'dom, Node> TraversalHandler<'dom, Node> for TableBuilderTraversal<'style, 'dom, Node>where
Node: NodeExt<'dom> + 'dom,
source§fn handle_element(
&mut self,
info: &NodeAndStyleInfo<Node>,
display: DisplayGeneratingBox,
contents: Contents,
box_slot: BoxSlot<'dom>,
)
fn handle_element( &mut self, info: &NodeAndStyleInfo<Node>, display: DisplayGeneratingBox, contents: Contents, box_slot: BoxSlot<'dom>, )
fn handle_text(&mut self, info: &NodeAndStyleInfo<Node>, text: Cow<'dom, str>)
Auto Trait Implementations§
impl<'style, 'dom, Node> Freeze for TableBuilderTraversal<'style, 'dom, Node>
impl<'style, 'dom, Node> !RefUnwindSafe for TableBuilderTraversal<'style, 'dom, Node>
impl<'style, 'dom, Node> Send for TableBuilderTraversal<'style, 'dom, Node>
impl<'style, 'dom, Node> Sync for TableBuilderTraversal<'style, 'dom, Node>where
Node: Sync,
impl<'style, 'dom, Node> Unpin for TableBuilderTraversal<'style, 'dom, Node>where
Node: Unpin,
impl<'style, 'dom, Node> !UnwindSafe for TableBuilderTraversal<'style, 'dom, Node>
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> 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