about summary refs log tree commit diff stats
path: root/termbox/x.cc
diff options
context:
space:
mode:
authorKartik K. Agaram <vc@akkartik.com>2017-04-16 15:02:42 -0700
committerKartik K. Agaram <vc@akkartik.com>2017-04-16 15:05:31 -0700
commitace7ffb714ce5314c665f28945ee0f3f1664f9ca (patch)
tree191088837e3a6c6fa6a38aae59431efa88c86cb9 /termbox/x.cc
parentef73b04e744a69973208096a49d4ae52ddbb84d2 (diff)
downloadmu-ace7ffb714ce5314c665f28945ee0f3f1664f9ca.tar.gz
3824 - experiment: stop buffering in termbox
Now it's much more apparent why things are slow. You can see each repaint
happening. Already I fixed one performance bug -- in clear-rest-of-screen.

Since this subverts Mu's fake screen there may be bugs.

Another salubrious side effect: I've finally internalized that switching
to raw mode doesn't have to clear the screen. That was just an artifact
of how termbox abstracted operations. Now I can conceive of using termbox
to build a repl as well.

(I was inspired to poke into termbox internals by
http://viewsourcecode.org/snaptoken/kilo and
https://github.com/antirez/linenoise)
Diffstat (limited to 'termbox/x.cc')
-rw-r--r--termbox/x.cc7
1 files changed, 4 insertions, 3 deletions
diff --git a/termbox/x.cc b/termbox/x.cc
index 73373818..5c7fb0a6 100644
--- a/termbox/x.cc
+++ b/termbox/x.cc
@@ -2,10 +2,11 @@
 #include"termbox.h"
 
 int main() {
-  tb_event event;
   tb_init();
-  tb_poll_event(&event);
+  tb_clear();
+  tb_change_cell(0, 0, 'a', TB_WHITE, TB_BLACK);
+  tb_event x;
+  tb_poll_event(&x);
   tb_shutdown();
-  std::cerr << (int)event.type << '\n';
   return 0;
 }