nuclear@0: #ifndef GFX_H_ nuclear@0: #define GFX_H_ nuclear@0: nuclear@0: enum { nuclear@0: GFX_HIRES = 1, nuclear@0: GFX_ILACE = 2, nuclear@0: GFX_HAM = 4, nuclear@0: GFX_DBLPF = 8 nuclear@0: }; nuclear@0: nuclear@0: enum { GFX_EVLOOP_BLOCK, GFX_EVLOOP_NONBLOCK }; nuclear@0: nuclear@0: enum { nuclear@0: GFX_EV_QUIT, nuclear@0: GFX_EV_KEY, nuclear@0: GFX_EV_BUTTON, nuclear@0: GFX_EV_MOTION nuclear@0: }; nuclear@0: nuclear@0: struct gfx_event_key { nuclear@0: int type; nuclear@0: int key; nuclear@0: int pressed; nuclear@0: }; nuclear@0: nuclear@0: struct gfx_event_button { nuclear@0: int type; nuclear@0: int bn; nuclear@0: int pressed; nuclear@0: int x, y; nuclear@0: }; nuclear@0: nuclear@0: struct gfx_event_motion { nuclear@0: int type; nuclear@0: int x, y; nuclear@0: }; nuclear@0: nuclear@0: union gfx_event { nuclear@0: int type; nuclear@0: struct gfx_event_key key; nuclear@0: struct gfx_event_button button; nuclear@0: struct gfx_event_motion motion; nuclear@0: }; nuclear@0: nuclear@0: struct gfx_rect { nuclear@0: int x, y; nuclear@0: int width, height; nuclear@0: }; nuclear@0: nuclear@3: struct ham_image; nuclear@3: nuclear@0: int gfx_init(int nbpl, unsigned int flags); nuclear@0: void gfx_shutdown(void); nuclear@0: nuclear@0: int gfx_screen_width(void); nuclear@0: int gfx_screen_height(void); nuclear@0: nuclear@0: void *gfx_set_framebuffer(void *fb, int width, int height); nuclear@0: void *gfx_get_framebuffer(void); nuclear@0: nuclear@0: int get_framebuffer_width(void); nuclear@0: int get_framebuffer_height(void); nuclear@0: nuclear@0: void gfx_begin_copperlist(void); nuclear@0: nuclear@0: int gfx_next_event(union gfx_event *ev, int block); nuclear@0: nuclear@0: void gfx_wait_vpos(int x); nuclear@0: void gfx_wait_vblank(void); nuclear@0: nuclear@3: void gfx_show_image(struct ham_image *img); nuclear@3: nuclear@0: #endif /* GFX_H_ */