A simple CPU rendered GUI IDE experience.
Diffstat (limited to 'src/text.rs')
| -rw-r--r-- | src/text.rs | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/text.rs b/src/text.rs index b5535e0..b3ecf1b 100644 --- a/src/text.rs +++ b/src/text.rs @@ -175,6 +175,22 @@ impl TextArea { - self.rope.line_to_char(self.rope.char_to_line(self.cursor)); } + pub fn page_down(&mut self) { + self.cursor = self.rope.line_to_char(min( + self.rope.char_to_line(self.cursor) + self.r, + self.l(), + )); + self.scroll_to_cursor(); + } + + #[lower::apply(saturating)] + pub fn page_up(&mut self) { + self.cursor = self + .rope + .line_to_char(self.rope.char_to_line(self.cursor) - self.r); + self.scroll_to_cursor(); + } + #[lower::apply(saturating)] pub fn left(&mut self) { self.cursor -= 1; |