6 int opaque; /* if 0, the next screen is visible, so keep update/drawing it */
8 struct game_screen *next;
11 void (*cleanup)(void);
16 void (*update)(float dt);
19 void (*reshape)(int, int);
20 void (*keyboard)(int, int);
21 void (*mouse)(int, int, int, int);
22 void (*motion)(int, int);
23 void (*wheel)(int dir);
26 /* this always points to the top screen on the stack
27 * there's always at least one screen, this will never be null
29 struct game_screen *screen;
31 int init_screens(void);
32 void cleanup_screens(void);
33 void reshape_screens(int x, int y);
35 void push_screen(struct game_screen *s);
38 #endif /* SCREEN_H_ */