diff options
| author | Albert Cervin <albert@acervin.com> | 2022-11-02 22:20:04 +0100 |
|---|---|---|
| committer | Albert Cervin <albert@acervin.com> | 2022-11-16 23:33:49 +0100 |
| commit | 2f4cb88d5c60f725323739300bb49dfa8923e7d5 (patch) | |
| tree | 6ec22c2be92eff05f18e5919e747faab56e555ad /src/display.h | |
| download | dged-2f4cb88d5c60f725323739300bb49dfa8923e7d5.tar.gz dged-2f4cb88d5c60f725323739300bb49dfa8923e7d5.tar.xz dged-2f4cb88d5c60f725323739300bb49dfa8923e7d5.zip | |
🎉 And so it begins
Diffstat (limited to 'src/display.h')
| -rw-r--r-- | src/display.h | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/src/display.h b/src/display.h new file mode 100644 index 0000000..18200d7 --- /dev/null +++ b/src/display.h @@ -0,0 +1,32 @@ +#include <stdint.h> + +#include <termios.h> + +struct display { + struct termios term; + struct termios orig_term; + uint32_t width; + uint32_t height; +}; + +struct render_cmd { + uint32_t col; + uint32_t row; + + uint8_t *data; + uint32_t len; +}; + +struct render_cmd_buf { + char source[16]; + struct render_cmd *cmds; + uint64_t ncmds; +}; + +struct display display_create(); +void display_destroy(struct display *display); + +void display_clear(struct display *display); +void display_move_cursor(struct display *display, uint32_t row, uint32_t col); +void display_update(struct display *display, struct render_cmd *cmds, + uint32_t ncmds, uint32_t currow, uint32_t curcol); |
