85a1f865da9b2c8ef447dbb2f7a8e1f6448af1d8
[dosdemo] / src / screen.h
1 #ifndef SCREEN_H_
2 #define SCREEN_H_
3
4 struct screen {
5         char *name;
6
7         int (*init)(void);
8         void (*shutdown)(void);
9
10         void (*start)(long trans_time);
11         void (*stop)(long trans_time);
12
13         void (*draw)(void);
14
15         void (*keypress)(int key);
16 };
17
18 const char *dbg_curscr_name;
19 int dbg_curscr_name_len, dbg_curscr_name_pos;
20
21 int scr_init(void);
22 void scr_shutdown(void);
23
24 void scr_update(void);
25 void scr_draw(void);
26 void scr_keypress(int key);
27
28 struct screen *scr_lookup(const char *name);
29 struct screen *scr_screen(int idx);
30 int scr_num_screens(void);
31 int scr_change(struct screen *s, long trans_time);
32
33 #endif  /* SCREEN_H_ */