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/glui.h | |
parent | 9b95088bddcf1f83e3a8f73f08f49b38ecb0f500 (diff) | |
download | radiola-master.tar.gz radiola-master.zip |
Diffstat (limited to 'src/draw/glui.h')
-rw-r--r-- | src/draw/glui.h | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/src/draw/glui.h b/src/draw/glui.h new file mode 100644 index 0000000..9206bdf --- /dev/null +++ b/src/draw/glui.h @@ -0,0 +1,63 @@ +#ifndef __RADIOLA_GLUI_H +#define __RADIOLA_GLUI_H +#include "../config.h" + +#include <stdio.h> +#include <stdint.h> +#include <stdlib.h> +#include <string.h> +#include <termios.h> +#include <unistd.h> + +#if def(OS_LINUX) + +#include <SDL2/SDL.h> + +//to draw waterfall +typedef struct glui_waterfall_t +{ + int type; + int h,w; + uint8_t *buf; + size_t buf_len; + int cur_h; + + SDL_Renderer *rend; +} glui_waterfall_t; + +typedef struct glui_t +{ + + int h, w; + + SDL_Window *win; + + glui_waterfall_t *wf; +} glui_t; + +typedef struct glui_color_t +{ + uint8_t r; + uint8_t g; + uint8_t b; + uint8_t a; +} glui_color_t; + +//prepare terminal ui +int glui_init( glui_t **t ); +//init waterfall +int glui_waterfall( glui_t **t, glui_waterfall_t **w ); +//first draw, draw all buffer +int glui_waterfall_draw( glui_waterfall_t *w ); +//redraw only changed lines +int glui_waterfall_redraw( glui_waterfall_t *w ); +//update params of waterfall and then need to draw not redraw +int glui_waterfall_update( glui_t *w ); +//push one line of data to buffer +int glui_waterfall_data( glui_t *w, int len, uint8_t *buf ); +//return color +glui_color_t glui_waterfall_color( uint8_t d ); +//close terminal ui +int glui_close( glui_t *t ); +#endif +#endif |