Struct cosmic_text::Buffer
source · pub struct Buffer {
pub lines: Vec<BufferLine>,
/* private fields */
}Expand description
A buffer of text that is shaped and laid out
Fields§
§lines: Vec<BufferLine>BufferLines (or paragraphs) of text in the buffer
Implementations§
source§impl Buffer
impl Buffer
sourcepub fn new(font_system: &mut FontSystem, metrics: Metrics) -> Self
pub fn new(font_system: &mut FontSystem, metrics: Metrics) -> Self
Create a new Buffer with the provided FontSystem and Metrics
Panics
Will panic if metrics.line_height is zero.
sourcepub fn borrow_with<'a>(
&'a mut self,
font_system: &'a mut FontSystem
) -> BorrowedWithFontSystem<'a, Buffer>
pub fn borrow_with<'a>( &'a mut self, font_system: &'a mut FontSystem ) -> BorrowedWithFontSystem<'a, Buffer>
Mutably borrows the buffer together with an FontSystem for more convenient methods
sourcepub fn shape_until(&mut self, font_system: &mut FontSystem, lines: i32) -> i32
pub fn shape_until(&mut self, font_system: &mut FontSystem, lines: i32) -> i32
Pre-shape lines in the buffer, up to lines, return actual number of layout lines
sourcepub fn shape_until_cursor(
&mut self,
font_system: &mut FontSystem,
cursor: Cursor
)
pub fn shape_until_cursor( &mut self, font_system: &mut FontSystem, cursor: Cursor )
Shape lines until cursor, also scrolling to include cursor in view
sourcepub fn shape_until_scroll(&mut self, font_system: &mut FontSystem)
pub fn shape_until_scroll(&mut self, font_system: &mut FontSystem)
Shape lines until scroll
pub fn layout_cursor(&self, cursor: &Cursor) -> LayoutCursor
sourcepub fn line_shape(
&mut self,
font_system: &mut FontSystem,
line_i: usize
) -> Option<&ShapeLine>
pub fn line_shape( &mut self, font_system: &mut FontSystem, line_i: usize ) -> Option<&ShapeLine>
Shape the provided line index and return the result
sourcepub fn line_layout(
&mut self,
font_system: &mut FontSystem,
line_i: usize
) -> Option<&[LayoutLine]>
pub fn line_layout( &mut self, font_system: &mut FontSystem, line_i: usize ) -> Option<&[LayoutLine]>
Lay out the provided line index and return the result
sourcepub fn set_metrics(&mut self, font_system: &mut FontSystem, metrics: Metrics)
pub fn set_metrics(&mut self, font_system: &mut FontSystem, metrics: Metrics)
sourcepub fn set_wrap(&mut self, font_system: &mut FontSystem, wrap: Wrap)
pub fn set_wrap(&mut self, font_system: &mut FontSystem, wrap: Wrap)
Set the current Wrap
sourcepub fn set_size(
&mut self,
font_system: &mut FontSystem,
width: f32,
height: f32
)
pub fn set_size( &mut self, font_system: &mut FontSystem, width: f32, height: f32 )
Set the current buffer dimensions
sourcepub fn set_scroll(&mut self, scroll: i32)
pub fn set_scroll(&mut self, scroll: i32)
Set the current scroll location
sourcepub fn visible_lines(&self) -> i32
pub fn visible_lines(&self) -> i32
Get the number of lines that can be viewed in the buffer
sourcepub fn set_text(
&mut self,
font_system: &mut FontSystem,
text: &str,
attrs: Attrs<'_>
)
pub fn set_text( &mut self, font_system: &mut FontSystem, text: &str, attrs: Attrs<'_> )
Set text of buffer, using provided attributes for each line by default
sourcepub fn set_redraw(&mut self, redraw: bool)
pub fn set_redraw(&mut self, redraw: bool)
Set redraw needed flag
sourcepub fn layout_runs(&self) -> LayoutRunIter<'_> ⓘ
pub fn layout_runs(&self) -> LayoutRunIter<'_> ⓘ
Get the visible layout runs for rendering and other tasks