pub struct CellGrid<'a> {
pub rows: usize,
pub cols: usize,
pub cells: &'a [Cell],
pub style: TextStyle,
pub cursor: Option<(usize, usize, CursorShape, Color)>,
pub origin_line: u64,
}Expand description
A grid to draw: the cells in row-major order (rows × cols of them;
fewer draw as blank), the style the glyphs are shaped in (size,
line_height as the cell height, family / font), and the cursor.
Fields§
§rows: usize§cols: usize§cells: &'a [Cell]§style: TextStyle§cursor: Option<(usize, usize, CursorShape, Color)>(row, col, shape, colour).
origin_line: u64The absolute line number of row 0: where this screenful sits in the app’s own history.
A grid is one screenful and the scrollback behind it is the app’s, so a row number is not an address: it means a different line after every scroll. Stamping this makes a selection’s ends absolute, and a terminal that scrolls under a selection keeps it. An app that never sets it gets 0 and a selection that is correct only while it does not scroll, which is the honest reading of saying nothing.
Trait Implementations§
Auto Trait Implementations§
impl<'a> Freeze for CellGrid<'a>
impl<'a> RefUnwindSafe for CellGrid<'a>
impl<'a> Send for CellGrid<'a>
impl<'a> Sync for CellGrid<'a>
impl<'a> Unpin for CellGrid<'a>
impl<'a> UnsafeUnpin for CellGrid<'a>
impl<'a> UnwindSafe for CellGrid<'a>
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
Mutably borrows from an owned value. Read more