about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorKartik K. Agaram <vc@akkartik.com>2015-05-22 18:09:34 -0700
committerKartik K. Agaram <vc@akkartik.com>2015-05-22 18:09:34 -0700
commit22d1a275ea912e874ecfec6a64f10a1ddc21a39d (patch)
tree762f7cf665d39829b1421fb202f3fa7a1b44f8aa
parent3d8e5101d88acc20a50884c744b5fbf8b246409a (diff)
downloadmu-22d1a275ea912e874ecfec6a64f10a1ddc21a39d.tar.gz
1420 - first steps in cursor movement
-rw-r--r--077trace_browser.cc8
1 files changed, 8 insertions, 0 deletions
diff --git a/077trace_browser.cc b/077trace_browser.cc
index 6175b26d..8d426ec9 100644
--- a/077trace_browser.cc
+++ b/077trace_browser.cc
@@ -11,6 +11,7 @@ case _BROWSE_TRACE: {
 :(before "End Globals")
 set<long long int> Visible;
 long long int Top_of_screen = 0;
+long long int Last_printed_row = 0;
 
 :(code)
 void start_trace_browser() {
@@ -38,6 +39,12 @@ void start_trace_browser() {
     } while (event.type != TB_EVENT_KEY);
     long long int key = event.key ? event.key : event.ch;
     if (key == 'q' || key == 'Q') break;
+    if (key == 'j' || key == 'J') {
+      if (Display_row < Last_printed_row) ++Display_row;
+    }
+    if (key == 'k' || key == 'K') {
+      if (Display_row > 0) --Display_row;
+    }
   }
   tb_shutdown();
 }
@@ -59,6 +66,7 @@ void render() {
   }
 done:
   // clear rest of screen
+  Last_printed_row = screen_row-1;
   for (; screen_row < tb_height(); ++screen_row) {
     render_line(screen_row, "~");
   }