diff options
Diffstat (limited to 'src/screen.rs')
-rw-r--r-- | src/screen.rs | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/src/screen.rs b/src/screen.rs index a50671f..cc89c20 100644 --- a/src/screen.rs +++ b/src/screen.rs @@ -110,7 +110,8 @@ impl Screen { } } - pub(crate) fn set_size(&mut self, rows: u16, cols: u16) { + /// Resizes the terminal. + pub fn set_size(&mut self, rows: u16, cols: u16) { self.grid.set_size(crate::grid::Size { rows, cols }); self.alternate_grid .set_size(crate::grid::Size { rows, cols }); @@ -125,6 +126,20 @@ impl Screen { (size.rows, size.cols) } + /// Scrolls to the given position in the scrollback. + /// + /// This position indicates the offset from the top of the screen, and + /// should be `0` to put the normal screen in view. + /// + /// This affects the return values of methods called on the screen: for + /// instance, `screen.cell(0, 0)` will return the top left corner of the + /// screen after taking the scrollback offset into account. + /// + /// The value given will be clamped to the actual size of the scrollback. + pub fn set_scrollback(&mut self, rows: usize) { + self.grid_mut().set_scrollback(rows); + } + /// Returns the current position in the scrollback. /// /// This position indicates the offset from the top of the screen, and is @@ -134,10 +149,6 @@ impl Screen { self.grid().scrollback() } - pub(crate) fn set_scrollback(&mut self, rows: usize) { - self.grid_mut().set_scrollback(rows); - } - /// Returns the text contents of the terminal. /// /// This will not include any formatting information, and will be in plain |