pub struct LineWrapperHandle { /* private fields */ }Expand description
A line wrapper borrowed from a TextSystem pool, returned on drop.
Implementations§
Source§impl LineWrapperHandle
impl LineWrapperHandle
Sourcepub fn new(
wrapper: LineWrapper,
recycle: impl FnOnce(LineWrapper) + Send + Sync + 'static,
) -> Self
pub fn new( wrapper: LineWrapper, recycle: impl FnOnce(LineWrapper) + Send + Sync + 'static, ) -> Self
Wraps wrapper, passing it back through recycle when dropped.
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.
Sourcepub fn width_for_char(&mut self, c: char) -> Pixels
pub fn width_for_char(&mut self, c: char) -> Pixels
The advance width of c in this wrapper’s font, cached after first use.