pub enum VNode<ET: EngineTypes> {
Show 14 variants
Penalty(i32),
Mark(usize, TokenList<ET::Token>),
Whatsit(WhatsitNode<ET>),
VSkip(Skip<ET::Dim>),
VFil,
VFill,
VFilneg,
Vss,
VKern(ET::Dim),
Leaders(Leaders<ET>),
Box(TeXBox<ET>),
HRule {
width: Option<ET::Dim>,
height: Option<ET::Dim>,
depth: Option<ET::Dim>,
start: SourceRef<ET>,
end: SourceRef<ET>,
},
Insert(usize, Box<[VNode<ET>]>),
Custom(ET::CustomNode),
}Expand description
A vertical list node.
Variants§
Penalty(i32)
A penalty node, as produced by \penalty.
Mark(usize, TokenList<ET::Token>)
A mark node, as produced by \mark.
Whatsit(WhatsitNode<ET>)
A whatsit node, as produced by \special, \write, etc.
VSkip(Skip<ET::Dim>)
A glue node, as produced by \vskip.
VFil
A glue node, as produced by \vfil.
VFill
A glue node, as produced by \vfill.
VFilneg
A glue node, as produced by \vfilneg.
Vss
A glue node, as produced by \vss.
VKern(ET::Dim)
A kern node, as produced by \kern.
Leaders(Leaders<ET>)
Leaders, as produced by \leaders or \cleaders or \xleaders.
Box(TeXBox<ET>)
A box node, as produced by \hbox, \vbox, \vtop, etc.
HRule
A rule node, as produced by \hrule.
Fields
Insert(usize, Box<[VNode<ET>]>)
An insertion node, as produced by \insert.
Custom(ET::CustomNode)
A custom node.
Implementations§
Source§impl<ET: EngineTypes> VNode<ET>
impl<ET: EngineTypes> VNode<ET>
Sourcepub fn discardable(&self) -> bool
pub fn discardable(&self) -> bool
Whether this node is discardable.
Trait Implementations§
Source§impl<ET: EngineTypes> NodeTrait<ET> for VNode<ET>
impl<ET: EngineTypes> NodeTrait<ET> for VNode<ET>
Source§fn display_fmt(&self, indent: usize, f: &mut Formatter<'_>) -> Result
fn display_fmt(&self, indent: usize, f: &mut Formatter<'_>) -> Result
Produces a human-readable string; since nodes are deeply nested, takes an
additional
indent value to indent the stringSource§fn opaque(&self) -> bool
fn opaque(&self) -> bool
Whether this node is “opaque”; meaning: When considering a list of nodes (e.g. in
\unskip
or \lastbox, this node should not be considered. Useful for annotation/marker nodes
some engine wants to insert, without impacting algorithms that inspect e.g. the last node
of the current list.fn sourceref(&self) -> Option<(&SourceRef<ET>, &SourceRef<ET>)>
Source§fn display(&self) -> DisplayNode<'_, ET, Self>
fn display(&self) -> DisplayNode<'_, ET, Self>
Returns a helper struct that implements
Display and uses Self::display_fmt
to yield a human-readable string.Auto Trait Implementations§
impl<ET> !Freeze for VNode<ET>
impl<ET> !RefUnwindSafe for VNode<ET>
impl<ET> Send for VNode<ET>where
<ET as EngineTypes>::Dim: Send,
<ET as EngineTypes>::CustomNode: Send,
<<ET as EngineTypes>::File as File>::SourceRefID: Send,
<ET as EngineTypes>::Char: Send,
<ET as EngineTypes>::Font: Send,
<ET as EngineTypes>::MuDim: Send,
ET: Send,
impl<ET> !Sync for VNode<ET>
impl<ET> Unpin for VNode<ET>where
<ET as EngineTypes>::Dim: Unpin,
<ET as EngineTypes>::CustomNode: Unpin,
<<ET as EngineTypes>::File as File>::SourceRefID: Unpin,
<ET as EngineTypes>::Token: Unpin,
impl<ET> UnsafeUnpin for VNode<ET>where
<ET as EngineTypes>::Dim: UnsafeUnpin,
<ET as EngineTypes>::CustomNode: UnsafeUnpin,
<<ET as EngineTypes>::File as File>::SourceRefID: UnsafeUnpin,
impl<ET> UnwindSafe for VNode<ET>where
<ET as EngineTypes>::Dim: UnwindSafe,
<ET as EngineTypes>::CustomNode: UnwindSafe,
<<ET as EngineTypes>::File as File>::SourceRefID: UnwindSafe,
<ET as EngineTypes>::Token: UnwindSafe,
<ET as EngineTypes>::Char: UnwindSafe,
<ET as EngineTypes>::Font: UnwindSafe,
<ET as EngineTypes>::MuDim: UnwindSafe,
ET: UnwindSafe,
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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 more