15 unsigned long time_msec;
17 unsigned int mouse_bmask;
19 static unsigned long nframes;
20 static const char *start_scr_name;
22 int demo_init(int argc, char **argv)
26 start_scr_name = getenv("START_SCR");
28 start_scr_name = argv[1];
31 if(g3d_init() == -1) {
34 g3d_framebuffer(fb_width, fb_height, fb_pixels);
36 if(scr_init() == -1) {
40 scr = scr_lookup(start_scr_name);
45 if(!scr || scr_change(scr, 4000) == -1) {
46 fprintf(stderr, "screen %s not found\n", start_scr_name ? start_scr_name : "0");
50 /* clear the framebuffer at least once */
51 memset(fb_pixels, 0, fb_width * fb_height * fb_bpp / CHAR_BIT);
55 void demo_cleanup(void)
61 float fps = (float)nframes / ((float)time_msec / 1000.0f);
62 printf("average framerate: %.1f\n", fps);
74 void demo_keyboard(int key, int state)
83 if(key >= '1' && key <= '1' + scr_num_screens()) {
85 printf("change screen %d\n", idx);
86 scr_change(scr_screen(idx), 4000);