pub enum HNode<ET: EngineTypes> {
Show 19 variants
Penalty(i32),
Mark(usize, TokenList<ET::Token>),
Whatsit(WhatsitNode<ET>),
HSkip(Skip<ET::Dim>),
HFil,
HFill,
HFilneg,
Hss,
Space,
HKern(ET::Dim),
Leaders(Leaders<ET>),
Box(TeXBox<ET>),
VRule {
width: Option<ET::Dim>,
height: Option<ET::Dim>,
depth: Option<ET::Dim>,
start: SourceRef<ET>,
end: SourceRef<ET>,
},
Insert(usize, Box<[VNode<ET>]>),
VAdjust(Box<[VNode<ET>]>),
MathGroup(MathGroup<ET>),
Char {
char: ET::Char,
font: <ET::FontSystem as FontSystem>::Font,
},
Accent {
accent: ET::Char,
char: ET::Char,
font: <ET::FontSystem as FontSystem>::Font,
},
Custom(ET::CustomNode),
}Expand description
A horizontal 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.
HSkip(Skip<ET::Dim>)
A glue node, as produced by \hskip.
HFil
A glue node, as produced by \hfil.
HFill
A glue node, as produced by \hfill.
HFilneg
A glue node, as produced by \hfilneg.
Hss
A glue node, as produced by \hss.
Space
A glue node, as produced by a space character.
HKern(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.
VRule
A rule node, as produced by \vrule.
Fields
Insert(usize, Box<[VNode<ET>]>)
An insertion node, as produced by \insert.
VAdjust(Box<[VNode<ET>]>)
A vadjust node, as produced by \vadjust; its contents will migrate to the surrounding vertical list eventually.
MathGroup(MathGroup<ET>)
A math list, as produced by $...$ or $$...$$.
Char
A character node, as produced by a character.
Accent
An \accent node.
Fields
font: <ET::FontSystem as FontSystem>::FontThe current font
Custom(ET::CustomNode)
A custom node.
Trait Implementations§
Source§impl<ET: Clone + EngineTypes> Clone for HNode<ET>where
ET::Token: Clone,
ET::Dim: Clone,
ET::Char: Clone,
ET::FontSystem: Clone,
ET::CustomNode: Clone,
impl<ET: Clone + EngineTypes> Clone for HNode<ET>where
ET::Token: Clone,
ET::Dim: Clone,
ET::Char: Clone,
ET::FontSystem: Clone,
ET::CustomNode: Clone,
Source§impl<ET: Debug + EngineTypes> Debug for HNode<ET>where
ET::Token: Debug,
ET::Dim: Debug,
ET::Char: Debug,
ET::FontSystem: Debug,
ET::CustomNode: Debug,
impl<ET: Debug + EngineTypes> Debug for HNode<ET>where
ET::Token: Debug,
ET::Dim: Debug,
ET::Char: Debug,
ET::FontSystem: Debug,
ET::CustomNode: Debug,
Source§impl<ET: EngineTypes> NodeTrait<ET> for HNode<ET>
impl<ET: EngineTypes> NodeTrait<ET> for HNode<ET>
Source§fn display_fmt(&self, indent: usize, f: &mut Formatter<'_>) -> Result
fn display_fmt(&self, indent: usize, f: &mut Formatter<'_>) -> Result
indent value to indent the stringSource§fn opaque(&self) -> bool
fn opaque(&self) -> bool
\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>
Display and uses Self::display_fmt
to yield a human-readable string.Auto Trait Implementations§
impl<ET> !Freeze for HNode<ET>
impl<ET> !RefUnwindSafe for HNode<ET>
impl<ET> Send for HNode<ET>where
<ET as EngineTypes>::Dim: Send,
<ET as EngineTypes>::Char: Send,
<ET as EngineTypes>::Font: Send,
<ET as EngineTypes>::CustomNode: Send,
<<ET as EngineTypes>::File as File>::SourceRefID: Send,
<ET as EngineTypes>::MuDim: Send,
ET: Send,
impl<ET> !Sync for HNode<ET>
impl<ET> Unpin for HNode<ET>where
<ET as EngineTypes>::Dim: Unpin,
<ET as EngineTypes>::Char: Unpin,
<ET as EngineTypes>::Font: Unpin,
<ET as EngineTypes>::CustomNode: Unpin,
<<ET as EngineTypes>::File as File>::SourceRefID: Unpin,
<ET as EngineTypes>::Token: Unpin,
impl<ET> UnsafeUnpin for HNode<ET>where
<ET as EngineTypes>::Dim: UnsafeUnpin,
<ET as EngineTypes>::Char: UnsafeUnpin,
<ET as EngineTypes>::Font: UnsafeUnpin,
<ET as EngineTypes>::CustomNode: UnsafeUnpin,
<<ET as EngineTypes>::File as File>::SourceRefID: UnsafeUnpin,
impl<ET> UnwindSafe for HNode<ET>where
<ET as EngineTypes>::Dim: UnwindSafe,
<ET as EngineTypes>::Char: UnwindSafe,
<ET as EngineTypes>::Font: UnwindSafe,
<ET as EngineTypes>::CustomNode: UnwindSafe,
<<ET as EngineTypes>::File as File>::SourceRefID: UnwindSafe,
<ET as EngineTypes>::Token: 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
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>
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