summaryrefslogtreecommitdiff
path: root/code/fe310/eos/eve/screen/screen.h
blob: a9745ad7bf805051fdeb6a0bb8d9c94266b2cb0e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <stdint.h>

struct EVEWindow;

typedef struct EVEScreen {
    uint16_t w;
    uint16_t h;
    uint32_t mem_next;
    struct EVEWindow *win_head;
    struct EVEWindow *win_tail;
    EVEKbd *kbd;
} EVEScreen;

int eve_screen_init(EVEScreen *screen, uint16_t w, uint16_t h);
void eve_screen_set_kbd(EVEScreen *screen, EVEKbd *kbd);
EVEKbd *eve_screen_get_kbd(EVEScreen *screen);
void eve_screen_show_kbd(EVEScreen *screen);
void eve_screen_hide_kbd(EVEScreen *screen);

void eve_screen_draw(EVEScreen *screen);
void eve_screen_handle_touch(void *s, uint8_t tag0, int touch_idx);