Struct epaint::text::text_layout_types::TextWrapping
source · 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 moresource§impl Debug for TextWrapping
impl Debug for TextWrapping
source§impl Default for TextWrapping
impl Default for TextWrapping
source§impl Hash for TextWrapping
impl Hash for TextWrapping
source§impl PartialEq for TextWrapping
impl PartialEq for TextWrapping
source§fn eq(&self, other: &TextWrapping) -> bool
fn eq(&self, other: &TextWrapping) -> bool
self
and other
values to be equal, and is used
by ==
.