diff options
author | Jesse Luehrs <doy@tozt.net> | 2019-11-08 04:33:31 -0500 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2019-11-08 09:51:11 -0500 |
commit | 8a609443b4ae06e58e0334751bbdb76e31068d37 (patch) | |
tree | 23a4847c3f907e527f17aad199cd90ee1db9d189 /src | |
parent | 76aeb85e99e088151c867d86858705bf38c345de (diff) | |
download | vt100-rust-8a609443b4ae06e58e0334751bbdb76e31068d37.tar.gz vt100-rust-8a609443b4ae06e58e0334751bbdb76e31068d37.zip |
fix RI at the top of the screen
Diffstat (limited to 'src')
-rw-r--r-- | src/grid.rs | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/grid.rs b/src/grid.rs index ad2fa22..3c262fe 100644 --- a/src/grid.rs +++ b/src/grid.rs @@ -337,9 +337,16 @@ impl Grid { } pub fn row_dec_scroll(&mut self, count: u16) { + // need to account for clamping by both row_clamp_top and by + // saturating_sub + let extra_lines = if count > self.pos.row { + count - self.pos.row + } else { + 0 + }; self.pos.row = self.pos.row.saturating_sub(count); let lines = self.row_clamp_top(true); - self.scroll_down(lines); + self.scroll_down(lines + extra_lines); } pub fn row_set(&mut self, i: u16) { |