nuclear@1: #include "sgl.h" nuclear@4: #include "wsys.h" nuclear@1: nuclear@5: void sgl_modules_init(void); nuclear@3: nuclear@4: static struct wsys_module *ws; nuclear@4: nuclear@1: int sgl_init(void) nuclear@1: { nuclear@5: sgl_modules_init(); nuclear@3: sgl_sort_modules(); nuclear@7: sgl_print_modules(); nuclear@4: nuclear@4: if(!(ws = sgl_wsys_module())) { nuclear@4: return -1; nuclear@4: } nuclear@4: return ws->init(); nuclear@1: } nuclear@1: nuclear@5: void sgl_quit(void) nuclear@1: { nuclear@4: ws->shutdown(); nuclear@1: } nuclear@1: nuclear@4: int sgl_set_video_mode(int xsz, int ysz) nuclear@1: { nuclear@4: return ws->set_vidmode(xsz, ysz); nuclear@1: } nuclear@1: nuclear@4: int sgl_get_video_mode(int *xsz, int *ysz) nuclear@1: { nuclear@4: return ws->get_vidmode(xsz, ysz); nuclear@1: } nuclear@1: nuclear@4: int sgl_create_window(int xsz, int ysz, unsigned int mode) nuclear@1: { nuclear@4: return ws->create_window(xsz, ysz, mode); nuclear@1: } nuclear@4: nuclear@4: void sgl_close_window(int win) nuclear@4: { nuclear@4: ws->close_window(win); nuclear@4: } nuclear@4: nuclear@4: int sgl_set_active(int id) nuclear@4: { nuclear@4: return ws->set_active(id); nuclear@4: } nuclear@4: nuclear@4: int sgl_set_title(const char *str) nuclear@4: { nuclear@4: return ws->set_title(str); nuclear@4: } nuclear@4: nuclear@5: void sgl_redisplay(void) nuclear@5: { nuclear@5: ws->redisplay(); nuclear@5: } nuclear@5: nuclear@5: void sgl_swap_buffers(void) nuclear@5: { nuclear@5: ws->swap_buffers(); nuclear@5: } nuclear@5: nuclear@4: int sgl_process_events(void) nuclear@4: { nuclear@4: return ws->process_events(); nuclear@4: } nuclear@5: nuclear@5: void sgl_event_loop(void) nuclear@5: { nuclear@5: while(ws->process_events() == 0); nuclear@5: }