diff options
author | FreeArtMan <dos21h@gmail.com> | 2016-05-08 16:02:01 +0100 |
---|---|---|
committer | FreeArtMan <dos21h@gmail.com> | 2016-05-08 16:02:01 +0100 |
commit | e42911405c4bc2f8c097f47d4598baf8522ef3da (patch) | |
tree | 9eb767c5e6a4443e8773b18ea76cf4216f6c8758 /src/draw/tui.h | |
parent | 9b95088bddcf1f83e3a8f73f08f49b38ecb0f500 (diff) | |
download | radiola-master.tar.gz radiola-master.zip |
Diffstat (limited to 'src/draw/tui.h')
-rw-r--r-- | src/draw/tui.h | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/src/draw/tui.h b/src/draw/tui.h new file mode 100644 index 0000000..a84379f --- /dev/null +++ b/src/draw/tui.h @@ -0,0 +1,45 @@ +#ifndef __RADIOLA_TUI_H +#define __RADIOLA_TUI_H + +#include <stdio.h> +#include <stdint.h> +#include <stdlib.h> +#include <string.h> +#include <termios.h> +#include <unistd.h> + +//to draw waterfall +typedef struct tui_waterfall_t +{ + int type; + int h,w; + uint8_t *buf; + size_t buf_len; +} tui_waterfall_t; + +typedef struct tui_t +{ + int ifd, ofd; + struct termios orig_i, orig_o; + struct termios raw_i, raw_o; + tui_waterfall_t *wf; +} tui_t; + +//prepare terminal ui +int tui_init( tui_t **t ); +//init waterfall +int tui_waterfall( tui_t **t, tui_waterfall_t **w ); +//first draw, draw all buffer +int tui_waterfall_draw( tui_waterfall_t *w ); +//redraw only changed lines +int tui_waterfall_redraw( tui_waterfall_t *w ); +//update params of waterfall and then need to draw not redraw +int tui_waterfall_update( tui_t *w ); +//push one line of data to buffer +int tui_waterfall_data( tui_t *w, int len, uint8_t *buf ); +//return color +uint8_t tui_waterfall_color( uint8_t d ); +//close terminal ui +int tui_close( tui_t *t ); + +#endif
\ No newline at end of file |