pub struct MultiLineText<'a, Coord, T: Borrow<str>> { /* private fields */ }
Expand description
An multi-line text element. The Text
element allows only signle 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 emply 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
Trait Implementations§
Source§impl<'a, Coord: 'a, DB: DrawingBackend, T: Borrow<str>> Drawable<DB> for MultiLineText<'a, Coord, T>
impl<'a, Coord: 'a, DB: DrawingBackend, T: Borrow<str>> Drawable<DB> for MultiLineText<'a, Coord, T>
Source§fn draw<I: Iterator<Item = BackendCoord>>(
&self,
points: I,
backend: &mut DB,
) -> Result<(), DrawingErrorKind<DB::ErrorType>>
fn draw<I: Iterator<Item = BackendCoord>>( &self, points: I, backend: &mut DB, ) -> Result<(), DrawingErrorKind<DB::ErrorType>>
Source§impl<'b, 'a, Coord: 'a, T: Borrow<str> + 'a> PointCollection<'a, Coord> for &'a MultiLineText<'b, Coord, T>
impl<'b, 'a, Coord: 'a, T: Borrow<str> + 'a> PointCollection<'a, Coord> for &'a MultiLineText<'b, Coord, T>
Auto Trait Implementations§
impl<'a, Coord, T> Freeze for MultiLineText<'a, Coord, T>where
Coord: Freeze,
impl<'a, Coord, T> !RefUnwindSafe for MultiLineText<'a, Coord, T>
impl<'a, Coord, T> !Send for MultiLineText<'a, Coord, T>
impl<'a, Coord, T> !Sync for MultiLineText<'a, Coord, T>
impl<'a, Coord, T> Unpin for MultiLineText<'a, Coord, T>
impl<'a, Coord, T> !UnwindSafe for MultiLineText<'a, Coord, T>
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, DB, Coord> IntoDynElement<DB, Coord> for Twhere
T: Drawable<DB> + 'static,
&'a T: for<'a> PointCollection<'a, Coord>,
Coord: Clone,
DB: DrawingBackend,
impl<T, DB, Coord> IntoDynElement<DB, Coord> for Twhere
T: Drawable<DB> + 'static,
&'a T: for<'a> PointCollection<'a, Coord>,
Coord: Clone,
DB: DrawingBackend,
Source§fn into_dyn(self) -> DynElement<DB, Coord>
fn into_dyn(self) -> DynElement<DB, Coord>
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