Skip to main content

TextWrapping

Struct 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

Source

pub fn from_wrap_mode_and_width(mode: TextWrapMode, max_width: f32) -> Self

Create a TextWrapping from a TextWrapMode and an available width.

Source

pub fn no_max_width() -> Self

A row can be as long as it need to be.

Source

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.

Source

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

Source§

fn clone(&self) -> TextWrapping

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for TextWrapping

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for TextWrapping

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl Hash for TextWrapping

Source§

fn hash<H: Hasher>(&self, state: &mut H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl PartialEq for TextWrapping

Source§

fn eq(&self, other: &TextWrapping) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl StructuralPartialEq for TextWrapping

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, S> SimdFrom<T, S> for T
where S: Simd,

Source§

fn simd_from(value: T, _simd: S) -> T

Source§

impl<F, T, S> SimdInto<T, S> for F
where T: SimdFrom<F, S>, S: Simd,

Source§

fn simd_into(self, simd: S) -> T

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,