blob: 6357a5953635e2d2d26bf1925115520943f357a8 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
#ifndef __RADIOLA_TUI_H
#define __RADIOLA_TUI_H
#include <stdio.h>
#include <stdlib.h>
#include <termios.h>
#include <unistd.h>
//to draw waterfall
typedef struct tui_waterfall_t
{
int type;
int h,w;
} 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_waterfall_t *w );
//push one line of data to buffer
int tui_waterfall_data( tui_waterfall_t *w, size_t *len, size_t *buf );
//close terminal ui
int tui_close( tui_t *t );
#endif
|