X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=src%2Fapp.h;h=b2a3b820fa8ef24f085b9207ed1c0884726d11fe;hb=3bf187fe037df34459f04bf4e625f38afb80fcf8;hp=96e6659da9a28555f582a4378ef640b85f080336;hpb=b0088adf036a53139f67ebf96f1bbb55abf199f4;p=retroray diff --git a/src/app.h b/src/app.h index 96e6659..b2a3b82 100644 --- a/src/app.h +++ b/src/app.h @@ -20,19 +20,34 @@ along with this program. If not, see . #include "sizeint.h" #include "logger.h" +#include "scene.h" enum { + KEY_BACKSP = 8, KEY_ESC = 27, KEY_DEL = 127, - KEY_F1 = 256, - KEY_F2, KEY_F3, KEY_F4, KEY_F5, KEY_F6, KEY_F7, - KEY_F8, KEY_F9, KEY_F10, KEY_F11, KEY_F12, - KEY_UP, KEY_DOWN, KEY_LEFT, KEY_RIGHT, - KEY_PGUP, KEY_PGDOWN, - KEY_HOME, KEY_END, - KEY_INS + + KEY_NUM_0 = 256, KEY_NUM_1, KEY_NUM_2, KEY_NUM_3, KEY_NUM_4, + KEY_NUM_5, KEY_NUM_6, KEY_NUM_7, KEY_NUM_8, KEY_NUM_9, + KEY_NUM_DOT, KEY_NUM_DIV, KEY_NUM_MUL, KEY_NUM_MINUS, KEY_NUM_PLUS, KEY_NUM_ENTER, KEY_NUM_EQUALS, + KEY_UP, KEY_DOWN, KEY_RIGHT, KEY_LEFT, + KEY_INS, KEY_HOME, KEY_END, KEY_PGUP, KEY_PGDN, + KEY_F1, KEY_F2, KEY_F3, KEY_F4, KEY_F5, KEY_F6, + KEY_F7, KEY_F8, KEY_F9, KEY_F10, KEY_F11, KEY_F12, + KEY_F13, KEY_F14, KEY_F15, + KEY_NUMLK, KEY_CAPSLK, KEY_SCRLK, + KEY_RSHIFT, KEY_LSHIFT, KEY_RCTRL, KEY_LCTRL, KEY_RALT, KEY_LALT, + KEY_RMETA, KEY_LMETA, KEY_LSUPER, KEY_RSUPER, KEY_MODE, KEY_COMPOSE, + KEY_HELP, KEY_PRINT, KEY_SYSRQ, KEY_BREAK }; +#ifndef KEY_ANY +#define KEY_ANY (-1) +#define KEY_ALT (-2) +#define KEY_CTRL (-3) +#define KEY_SHIFT (-4) +#endif + enum { KEY_MOD_SHIFT = 1, KEY_MOD_CTRL = 4, @@ -70,7 +85,9 @@ extern struct app_screen scr_model, scr_rend; struct font; extern struct font *uifont; -extern uint32_t *framebuf; +extern uint32_t *framebuf, *rendbuf; + +extern struct scene *scn; int app_init(void); @@ -89,11 +106,15 @@ void app_chscr(struct app_screen *scr); /* defined in main.c */ long app_getmsec(void); -void app_redisplay(void); +void app_redisplay(int x, int y, int w, int h); void app_swap_buffers(void); void app_quit(void); void app_resize(int x, int y); void app_fullscreen(int fs); void app_vsync(int vsync); +void app_rband(int x, int y, int w, int h); + +/* defined in scr_mod.c for convenience */ +void primray(cgm_ray *ray, int x, int y); #endif /* APP_H_ */