add relative mouse handling in mouse.asm
[retroray] / src / app.h
index 96e6659..d09be0b 100644 (file)
--- a/src/app.h
+++ b/src/app.h
@@ -20,19 +20,34 @@ along with this program.  If not, see <https://www.gnu.org/licenses/>.
 
 #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);
@@ -96,4 +113,7 @@ void app_resize(int x, int y);
 void app_fullscreen(int fs);
 void app_vsync(int vsync);
 
+/* defined in scr_mod.c for convenience */
+void primray(cgm_ray *ray, int x, int y);
+
 #endif /* APP_H_ */