diff options
author | Juan Manuel Tomás <jtomas1815@gmail.com> | 2020-05-24 05:35:00 -0300 |
---|---|---|
committer | Juan Manuel Tomás <jtomas1815@gmail.com> | 2020-05-24 05:35:00 -0300 |
commit | 98280238383dc390207827d09dc92e0459229134 (patch) | |
tree | e2bc7c0877289165463dd6f9c2e77b570b22e29c /test/page.cpp | |
parent | d37027bbd7ac13fdd0f1e2f01e1ec4b75b6c9588 (diff) | |
download | jet-98280238383dc390207827d09dc92e0459229134.tar.gz jet-98280238383dc390207827d09dc92e0459229134.zip |
Rewrite in c++
Diffstat (limited to 'test/page.cpp')
-rw-r--r-- | test/page.cpp | 48 |
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; +} |