pub struct LineWrapperHandle { /* private fields */ }Expand description
A handle into the text system, which can be used to compute the wrapped layout of text
Methods from Deref<Target = LineWrapper>§
pub const MAX_INDENT: u32 = 256
Sourcepub fn wrap_line<'a>(
&'a mut self,
fragments: &'a [LineFragment<'_>],
wrap_width: Pixels,
) -> impl Iterator<Item = Boundary> + 'a
pub fn wrap_line<'a>( &'a mut self, fragments: &'a [LineFragment<'_>], wrap_width: Pixels, ) -> impl Iterator<Item = Boundary> + 'a
Wrap a line of text to the given width with this wrapper’s font and font size.
Sourcepub fn should_truncate_line(
&mut self,
line: &str,
truncate_width: Pixels,
truncation_affix: &str,
truncate_from: TruncateFrom,
) -> Option<usize>
pub fn should_truncate_line( &mut self, line: &str, truncate_width: Pixels, truncation_affix: &str, truncate_from: TruncateFrom, ) -> Option<usize>
Determines if a line should be truncated based on its width.
Returns the truncation index in line.
Sourcepub fn truncate_line<'a>(
&mut self,
line: SharedString,
truncate_width: Pixels,
truncation_affix: &str,
runs: &'a [TextRun],
truncate_from: TruncateFrom,
) -> (SharedString, Cow<'a, [TextRun]>)
pub fn truncate_line<'a>( &mut self, line: SharedString, truncate_width: Pixels, truncation_affix: &str, runs: &'a [TextRun], truncate_from: TruncateFrom, ) -> (SharedString, Cow<'a, [TextRun]>)
Truncate a line of text to the given width with this wrapper’s font and font size.
Sourcepub fn truncate_wrapped_line<'a>(
&mut self,
text: SharedString,
wrap_width: Pixels,
max_lines: usize,
truncation_affix: &str,
runs: &'a [TextRun],
truncate_from: TruncateFrom,
) -> (SharedString, Cow<'a, [TextRun]>)
pub fn truncate_wrapped_line<'a>( &mut self, text: SharedString, wrap_width: Pixels, max_lines: usize, truncation_affix: &str, runs: &'a [TextRun], truncate_from: TruncateFrom, ) -> (SharedString, Cow<'a, [TextRun]>)
Truncate text to fit within a given number of wrapped lines.
Unlike truncate_line which treats the text as a flat width budget
(width * max_lines), this method accounts for word-boundary wrapping:
it walks through characters once, tracking wrap boundaries and the
truncation point simultaneously. When text overflows on the last
allowed line, it truncates there and appends the affix.
For max_lines == 1, this delegates to truncate_line.
Trait Implementations§
Source§impl Deref for LineWrapperHandle
impl Deref for LineWrapperHandle
Source§impl DerefMut for LineWrapperHandle
impl DerefMut for LineWrapperHandle
Source§impl Drop for LineWrapperHandle
impl Drop for LineWrapperHandle
Auto Trait Implementations§
impl !RefUnwindSafe for LineWrapperHandle
impl !UnwindSafe for LineWrapperHandle
impl Freeze for LineWrapperHandle
impl Send for LineWrapperHandle
impl Sync for LineWrapperHandle
impl Unpin for LineWrapperHandle
impl UnsafeUnpin for LineWrapperHandle
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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