Struct cosmic_text::BufferLine
source · pub struct BufferLine { /* private fields */ }
Expand description
A line (or paragraph) of text that is shaped and laid out
Implementations§
source§impl BufferLine
impl BufferLine
sourcepub fn new<T: Into<String>>(
text: T,
attrs_list: AttrsList,
shaping: Shaping
) -> Self
pub fn new<T: Into<String>>( text: T, attrs_list: AttrsList, shaping: Shaping ) -> Self
Create a new line with the given text and attributes list
Cached shaping and layout can be done using the Self::shape
and
Self::layout
functions
sourcepub fn set_text<T: AsRef<str>>(
&mut self,
text: T,
attrs_list: AttrsList
) -> bool
pub fn set_text<T: AsRef<str>>( &mut self, text: T, attrs_list: AttrsList ) -> bool
Set text and attributes list
Will reset shape and layout if it differs from current text and attributes list. Returns true if the line was reset
sourcepub fn into_text(self) -> String
pub fn into_text(self) -> String
Consume this line, returning only its text contents as a String.
sourcepub fn attrs_list(&self) -> &AttrsList
pub fn attrs_list(&self) -> &AttrsList
Get attributes list
sourcepub fn set_attrs_list(&mut self, attrs_list: AttrsList) -> bool
pub fn set_attrs_list(&mut self, attrs_list: AttrsList) -> bool
Set attributes list
Will reset shape and layout if it differs from current attributes list. Returns true if the line was reset
sourcepub fn set_align(&mut self, align: Option<Align>) -> bool
pub fn set_align(&mut self, align: Option<Align>) -> bool
Set the text alignment
Will reset layout if it differs from current alignment.
Setting to None will use Align::Right
for RTL lines, and Align::Left
for LTR lines.
Returns true if the line was reset
sourcepub fn append(&mut self, other: Self)
pub fn append(&mut self, other: Self)
Append line at end of this line
The wrap setting of the appended line will be lost
sourcepub fn reset_shaping(&mut self)
pub fn reset_shaping(&mut self)
Reset shaping and layout caches
sourcepub fn reset_layout(&mut self)
pub fn reset_layout(&mut self)
Reset only layout cache
sourcepub fn shape(&mut self, font_system: &mut FontSystem) -> &ShapeLine
pub fn shape(&mut self, font_system: &mut FontSystem) -> &ShapeLine
Shape line, will cache results
sourcepub fn shape_in_buffer(
&mut self,
scratch: &mut ShapeBuffer,
font_system: &mut FontSystem
) -> &ShapeLine
pub fn shape_in_buffer( &mut self, scratch: &mut ShapeBuffer, font_system: &mut FontSystem ) -> &ShapeLine
Shape a line using a pre-existing shape buffer, will cache results
sourcepub fn layout(
&mut self,
font_system: &mut FontSystem,
font_size: f32,
width: f32,
wrap: Wrap,
match_mono_width: Option<f32>
) -> &[LayoutLine]
pub fn layout( &mut self, font_system: &mut FontSystem, font_size: f32, width: f32, wrap: Wrap, match_mono_width: Option<f32> ) -> &[LayoutLine]
Layout line, will cache results
sourcepub fn layout_in_buffer(
&mut self,
scratch: &mut ShapeBuffer,
font_system: &mut FontSystem,
font_size: f32,
width: f32,
wrap: Wrap,
match_mono_width: Option<f32>
) -> &[LayoutLine]
pub fn layout_in_buffer( &mut self, scratch: &mut ShapeBuffer, font_system: &mut FontSystem, font_size: f32, width: f32, wrap: Wrap, match_mono_width: Option<f32> ) -> &[LayoutLine]
Layout a line using a pre-existing shape buffer, will cache results
sourcepub fn layout_opt(&self) -> &Option<Vec<LayoutLine>>
pub fn layout_opt(&self) -> &Option<Vec<LayoutLine>>
Get line layout cache
sourcepub fn metadata(&self) -> Option<usize>
pub fn metadata(&self) -> Option<usize>
Get line metadata. This will be None if BufferLine::set_metadata
has not been called
after the last reset of shaping and layout caches
sourcepub fn set_metadata(&mut self, metadata: usize)
pub fn set_metadata(&mut self, metadata: usize)
Set line metadata. This is stored until the next line reset
Trait Implementations§
source§impl Clone for BufferLine
impl Clone for BufferLine
source§fn clone(&self) -> BufferLine
fn clone(&self) -> BufferLine
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more