X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=src%2Fdemo.h;fp=src%2Fdemo.h;h=1b246eda73c92b7063b30427897e592b26765749;hb=899b88b4ab8ef15a5032e745ff34dd9b60cadc26;hp=530e3de66a21d464f970047eb9ac73a6de80a968;hpb=af1caae949c63a870f02b69cdbe0604c3b5ed0e9;p=dosdemo diff --git a/src/demo.h b/src/demo.h index 530e3de..1b246ed 100644 --- a/src/demo.h +++ b/src/demo.h @@ -1,8 +1,14 @@ #ifndef DEMO_H_ #define DEMO_H_ +#include "inttypes.h" + extern int fb_width, fb_height, fb_bpp; -extern void *fb_pixels; +extern uint16_t *fb_pixels; /* system-RAM pixel buffer: use swap_buffers(fb_pixels) */ +/* video memory pointers. might both point to the front buffer if there is not + * enough memory for page flipping. use swap_buffers(0) to flip. */ +extern uint16_t *vmem_back, *vmem_front; + extern unsigned long time_msec; extern int mouse_x, mouse_y; extern unsigned int mouse_bmask; @@ -14,9 +20,16 @@ void demo_draw(void); void demo_keyboard(int key, int state); + /* defined in main_*.c */ void demo_quit(void); unsigned long get_msec(void); void set_palette(int idx, int r, int g, int b); +/* pass 0 to just swap vmem_back/vmem_front with page flipping + * pass a pointer to a system-ram pixel buffer to copy it to vmem_front, + * instead of flipping. + */ +void swap_buffers(void *pixels); + #endif /* DEMO_H_ */