pub enum LabelText<'a> {
LabelStr(Cow<'a, str>),
EscStr(Cow<'a, str>),
HtmlStr(Cow<'a, str>),
}
Expand description
The text for a graphviz label on a node or edge.
Variants§
LabelStr(Cow<'a, str>)
This kind of label preserves the text directly as is.
Occurrences of backslashes (\
) are escaped, and thus appear
as backslashes in the rendered label.
EscStr(Cow<'a, str>)
This kind of label uses the graphviz label escString type: https://www.graphviz.org/content/attrs#kescString
Occurrences of backslashes (\
) are not escaped; instead they
are interpreted as initiating an escString escape sequence.
Escape sequences of particular interest: in addition to \n
to break a line (centering the line preceding the \n
), there
are also the escape sequences \l
which left-justifies the
preceding line and \r
which right-justifies it.
HtmlStr(Cow<'a, str>)
This uses a graphviz HTML string label. The string is
printed exactly as given, but between <
and >
. No
escaping is performed.
Implementations§
Source§impl<'a> LabelText<'a>
impl<'a> LabelText<'a>
pub fn label<S: Into<Cow<'a, str>>>(s: S) -> LabelText<'a>
pub fn html<S: Into<Cow<'a, str>>>(s: S) -> LabelText<'a>
Sourcepub fn to_dot_string(&self) -> String
pub fn to_dot_string(&self) -> String
Renders text as string suitable for a label in a .dot file. This includes quotes or suitable delimiters.
Sourcepub fn suffix_line(self, suffix: LabelText<'_>) -> LabelText<'static>
pub fn suffix_line(self, suffix: LabelText<'_>) -> LabelText<'static>
Puts suffix
on a line below this label, with a blank line separator.