4 #include "anim/track.h"
9 struct anm_track track;
12 void (*destroy)(void);
13 void (*reshape)(int x, int y);
18 void (*update)(long tmsec);
21 void (*keyboard)(int key, int pressed);
22 void (*mouse)(int bn, int pressed, int x, int y);
23 void (*motion)(int x, int y);
25 struct demoscreen *next;
28 /* global demo state */
29 int dsys_running; /* run/stop state */
30 int dsys_eof; /* end of demo flag, seek back to reset */
31 long dsys_time; /* demo time in milliseconds */
33 #define MAX_DSYS_SCREENS 64
34 struct demoscreen *dsys_screens[MAX_DSYS_SCREENS];
36 struct demoscreen *dsys_act_scr; /* linked list of active screens */
39 int dsys_init(const char *fname);
40 void dsys_destroy(void);
42 /* overrides the demo sequence, and runs a single screen */
43 struct demoscreen *dsys_find_screen(const char *name);
44 void dsys_run_screen(struct demoscreen *scr);
48 void dsys_seek_abs(long tm);
49 void dsys_seek_rel(long dt);
50 void dsys_seek_norm(float t);
52 int dsys_add_screen(struct demoscreen *scr);
54 #endif /* DEMOSYS_H_ */