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: f32
Wrap 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: usize
Maximum 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: bool
If 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 more