pub struct TextWrapping {
pub max_width: f32,
pub max_rows: usize,
pub break_anywhere: bool,
pub overflow_character: Option<char>,
}Expand description
Controls the text wrapping and elision of a LayoutJob.
Fields§
§max_width: f32Wrap text so that no row is wider than this.
If you would rather truncate text that doesn’t fit, set Self::max_rows to 1.
Set max_width to f32::INFINITY to turn off wrapping and elision.
Note that \n always produces a new row
if LayoutJob::break_on_newline is true.
max_rows: usizeMaximum amount of rows the text galley should have.
If this limit is reached, text will be truncated
and Self::overflow_character appended to the final row.
You can detect this by checking Galley::elided.
If set to 0, no text will be outputted.
If set to 1, a single row will be outputted,
eliding the text after Self::max_width is reached.
When you set max_rows = 1, it is recommended you also set Self::break_anywhere to true.
Default value: usize::MAX.
break_anywhere: boolIf true: Allow breaking between any characters.
If false (default): prefer breaking between words, etc.
NOTE: Due to limitations in the current implementation,
when truncating text using Self::max_rows the text may be truncated
in the middle of a word even if Self::break_anywhere is false.
Therefore it is recommended to set Self::break_anywhere to true
whenever Self::max_rows is set to 1.
overflow_character: Option<char>Character to use to represent elided text.
The default is ….
If not set, no character will be used (but the text will still be elided).
Implementations§
Source§impl TextWrapping
impl TextWrapping
Sourcepub fn from_wrap_mode_and_width(mode: TextWrapMode, max_width: f32) -> Self
pub fn from_wrap_mode_and_width(mode: TextWrapMode, max_width: f32) -> Self
Create a TextWrapping from a TextWrapMode and an available width.
Sourcepub fn no_max_width() -> Self
pub fn no_max_width() -> Self
A row can be as long as it need to be.
Sourcepub fn wrap_at_width(max_width: f32) -> Self
pub fn wrap_at_width(max_width: f32) -> Self
A row can be at most max_width wide but can wrap in any number of lines.
Sourcepub fn truncate_at_width(max_width: f32) -> Self
pub fn truncate_at_width(max_width: f32) -> Self
Elide text that doesn’t fit within the given width, replaced with ….
Trait Implementations§
Source§impl Clone for TextWrapping
impl Clone for TextWrapping
Source§fn clone(&self) -> TextWrapping
fn clone(&self) -> TextWrapping
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for TextWrapping
impl Debug for TextWrapping
Source§impl Default for TextWrapping
impl Default for TextWrapping
Source§impl<'de> Deserialize<'de> for TextWrapping
impl<'de> Deserialize<'de> for TextWrapping
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl Hash for TextWrapping
impl Hash for TextWrapping
Source§impl PartialEq for TextWrapping
impl PartialEq for TextWrapping
Source§impl Serialize for TextWrapping
impl Serialize for TextWrapping
impl StructuralPartialEq for TextWrapping
Auto Trait Implementations§
impl Freeze for TextWrapping
impl RefUnwindSafe for TextWrapping
impl Send for TextWrapping
impl Sync for TextWrapping
impl Unpin for TextWrapping
impl UnwindSafe for TextWrapping
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,
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