summaryrefslogtreecommitdiff
path: root/fw/fe310/eos/eve/screen/window.h
blob: 89c83eb51d5e4555e0909b33fad3e79778fe7b68 (plain)
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
#include <stdint.h>

struct EVEView;
struct EVEWindow;

typedef struct EVEWindow {
    EVERect g;
    EVEScreen *screen;
    char *name;
    struct EVEView *view;
    struct EVEWindow *next;
    struct EVEWindow *prev;
    uint32_t color_bg;
    uint32_t color_fg;
    uint8_t tag;
} EVEWindow;

void eve_window_init(EVEWindow *window, EVERect *g, EVEScreen *screen, char *name);
void eve_window_set_color_bg(EVEWindow *window, uint8_t r, uint8_t g, uint8_t b);
void eve_window_set_color_fg(EVEWindow *window, uint8_t r, uint8_t g, uint8_t b);

int eve_window_visible(EVEWindow *window);
void eve_window_visible_g(EVEWindow *window, EVERect *g);

void eve_window_append(EVEWindow *window);
void eve_window_insert_above(EVEWindow *window, EVEWindow *win_prev);
void eve_window_insert_below(EVEWindow *window, EVEWindow *win_next);
void eve_window_remove(EVEWindow *window);
EVEWindow *eve_window_get(EVEScreen *screen, char *name);