summaryrefslogtreecommitdiff
path: root/test/page.cpp
diff options
context:
space:
mode:
authorJuan Manuel Tomás <jtomas1815@gmail.com>2020-05-24 05:35:00 -0300
committerJuan Manuel Tomás <jtomas1815@gmail.com>2020-05-24 05:35:00 -0300
commit98280238383dc390207827d09dc92e0459229134 (patch)
treee2bc7c0877289165463dd6f9c2e77b570b22e29c /test/page.cpp
parentd37027bbd7ac13fdd0f1e2f01e1ec4b75b6c9588 (diff)
downloadjet-98280238383dc390207827d09dc92e0459229134.tar.gz
jet-98280238383dc390207827d09dc92e0459229134.zip
Rewrite in c++
Diffstat (limited to 'test/page.cpp')
-rw-r--r--test/page.cpp48
1 files changed, 48 insertions, 0 deletions
diff --git a/test/page.cpp b/test/page.cpp
new file mode 100644
index 0000000..d0a4d54
--- /dev/null
+++ b/test/page.cpp
@@ -0,0 +1,48 @@
+#include <curses.h>
+
+#define PAGE_SIZE 32
+#include "../page.cpp"
+
+int main() {
+ int exit = 0;
+ Page page = Page();
+
+ initscr();
+ cbreak();
+ noecho();
+ nonl();
+ intrflush(stdscr, FALSE);
+ keypad(stdscr, TRUE);
+
+ while (!exit) {
+ clear();
+
+ for (int i = 0; i < page.gap_start; i++) {
+ addch(page.elements[i]);
+ }
+ for (int i = page.gap_start; i < page.gap_end; i++) {
+ addch('.');
+ }
+ for (int i = page.gap_end; i < PAGE_SIZE; i++) {
+ addch(page.elements[i]);
+ }
+
+ int input = getch();
+ switch (input) {
+ case KEY_LEFT:
+ page--;
+ break;
+ case KEY_RIGHT:
+ page++;
+ break;
+ case KEY_BACKSPACE:
+ page.pop();
+ break;
+ default:
+ page.push(input);
+ }
+ }
+
+ endwin();
+ return 0;
+}