pub struct MultiLineText<'a, Coord, T: Borrow<str>> { /* private fields */ }
Expand description
An multi-line text element. The Text
element allows only single line text
and the MultiLineText
supports drawing multiple lines
Implementations§
Source§impl<'a, Coord, T: Borrow<str>> MultiLineText<'a, Coord, T>
impl<'a, Coord, T: Borrow<str>> MultiLineText<'a, Coord, T>
Sourcepub fn new<S: Into<TextStyle<'a>>>(pos: Coord, style: S) -> Self
pub fn new<S: Into<TextStyle<'a>>>(pos: Coord, style: S) -> Self
Create an empty multi-line text element.
Lines can be append to the empty multi-line by calling push_line
method
pos
: The upper left corner
style
: The style of the text
Sourcepub fn set_line_height(&mut self, value: f64) -> &mut Self
pub fn set_line_height(&mut self, value: f64) -> &mut Self
Set the line height of the multi-line text element
Sourcepub fn push_line<L: Into<T>>(&mut self, line: L)
pub fn push_line<L: Into<T>>(&mut self, line: L)
Push a new line into the given multi-line text
line
: The line to be pushed
Sourcepub fn estimate_dimension(&self) -> FontResult<(i32, i32)>
pub fn estimate_dimension(&self) -> FontResult<(i32, i32)>
Estimate the multi-line text element’s dimension
Source§impl<'a, T: Borrow<str>> MultiLineText<'a, BackendCoord, T>
impl<'a, T: Borrow<str>> MultiLineText<'a, BackendCoord, T>
Sourcepub fn compute_line_layout(&self) -> FontResult<Vec<LayoutBox>>
pub fn compute_line_layout(&self) -> FontResult<Vec<LayoutBox>>
Compute the line layout
Source§impl<'a, Coord> MultiLineText<'a, Coord, &'a str>
impl<'a, Coord> MultiLineText<'a, Coord, &'a str>
Sourcepub fn from_str<ST: Into<&'a str>, S: Into<TextStyle<'a>>>(
text: ST,
pos: Coord,
style: S,
max_width: u32,
) -> Self
pub fn from_str<ST: Into<&'a str>, S: Into<TextStyle<'a>>>( text: ST, pos: Coord, style: S, max_width: u32, ) -> Self
Parse a multi-line text into an multi-line element.
text
: The text that is parsed
pos
: The position of the text
style
: The style for this text
max_width
: The width of the multi-line text element, the line will break
into two lines if the line is wider than the max_width. If 0 is given, do not
do any line wrapping
Source§impl<'a, Coord> MultiLineText<'a, Coord, String>
impl<'a, Coord> MultiLineText<'a, Coord, String>
Sourcepub fn from_string<S: Into<TextStyle<'a>>>(
text: String,
pos: Coord,
style: S,
max_width: u32,
) -> Self
pub fn from_string<S: Into<TextStyle<'a>>>( text: String, pos: Coord, style: S, max_width: u32, ) -> Self
Parse a multi-line text into an multi-line element.
text
: The text that is parsed
pos
: The position of the text
style
: The style for this text
max_width
: The width of the multi-line text element, the line will break
into two lines if the line is wider than the max_width. If 0 is given, do not
do any line wrapping