initial commit
[dosdemo] / src / demo.c
1 #include <stdio.h>
2 #include <stdlib.h>
3 #include <string.h>
4 #include <math.h>
5 #include <errno.h>
6 #include "demo.h"
7
8 int fbwidth = 320;
9 int fbheight = 240;
10 int fbbpp = 8;
11 unsigned char *fbpixels;
12 unsigned long time_msec;
13
14 static unsigned long nframes;
15
16 int demo_init(int argc, char **argv)
17 {
18         return 0;
19 }
20
21 void demo_cleanup(void)
22 {
23         if(time_msec) {
24                 float fps = (float)nframes / ((float)time_msec / 1000.0f);
25                 printf("average framerate: %.1f\n", fps);
26         }
27 }
28
29 void demo_draw(void)
30 {
31         int i, j;
32         unsigned char *fbptr = fbpixels;
33
34         for(i=0; i<fbheight; i++) {
35                 for(j=0; j<fbwidth; j++) {
36                         int val = i^j;
37
38                         *fbptr++ = val;
39                 }
40         }
41
42         ++nframes;
43 }
44
45 void demo_keyboard(int key, int state)
46 {
47         if(state) {
48                 switch(key) {
49                 case 27:
50                         demo_quit();
51                         break;
52
53                 default:
54                         break;
55                 }
56         }
57 }