about summary refs log tree commit diff stats
path: root/100trace_browser.cc
diff options
context:
space:
mode:
authorKartik K. Agaram <vc@akkartik.com>2017-03-06 09:40:43 -0800
committerKartik K. Agaram <vc@akkartik.com>2017-03-06 09:40:43 -0800
commit8ccf992d317a867f5e477b2dee5db90b2c5ded3a (patch)
treeb6dcb09855a693c342613280774501dbde67f889 /100trace_browser.cc
parente777ce0c3ebe1fd07c0abdac3be30ceca45132c4 (diff)
downloadmu-8ccf992d317a867f5e477b2dee5db90b2c5ded3a.tar.gz
3759 - make current line more salient
Diffstat (limited to '100trace_browser.cc')
-rw-r--r--100trace_browser.cc13
1 files changed, 6 insertions, 7 deletions
diff --git a/100trace_browser.cc b/100trace_browser.cc
index 3e472fc3..4577c8a1 100644
--- a/100trace_browser.cc
+++ b/100trace_browser.cc
@@ -229,12 +229,12 @@ void render() {
       out << " (" << delta << ")";
       if (delta > 999) out << static_cast<char>(2);
     }
-    render_line(screen_row, out.str());
+    render_line(screen_row, out.str(), screen_row == Display_row);
   }
   // clear rest of screen
   Last_printed_row = screen_row-1;
   for (; screen_row < tb_height(); ++screen_row) {
-    render_line(screen_row, "~");
+    render_line(screen_row, "~", /*highlight?*/false);
   }
   // move cursor back to display row at the end
   tb_set_cursor(0, Display_row);
@@ -249,7 +249,7 @@ int lines_hidden(int screen_row) {
     return get(Trace_index, screen_row+1) - get(Trace_index, screen_row);
 }
 
-void render_line(int screen_row, const string& s) {
+void render_line(int screen_row, const string& s, bool highlight) {
   int col = 0;
   int color = TB_WHITE;
   for (col = 0; col < tb_width() && col < SIZE(s); ++col) {
@@ -258,11 +258,10 @@ void render_line(int screen_row, const string& s) {
     // escapes. hack: can't start a line with them.
     if (c == '\1') { color = /*red*/1; c = ' '; }
     if (c == '\2') { color = TB_WHITE; c = ' '; }
-    tb_change_cell(col, screen_row, c, color, TB_BLACK);
-  }
-  for (; col < tb_width(); ++col) {
-    tb_change_cell(col, screen_row, ' ', TB_WHITE, TB_BLACK);
+    tb_change_cell(col, screen_row, c, color, highlight ? /*subtle grey*/240 : TB_BLACK);
   }
+  for (; col < tb_width(); ++col)
+    tb_change_cell(col, screen_row, ' ', TB_WHITE, highlight ? /*subtle grey*/240 : TB_BLACK);
 }
 
 void load_trace(const char* filename) {