prepare_data now only processes files based on modification time
[laserbrain_demo] / src / app.h
index 926c2d2..5e7554f 100644 (file)
--- a/src/app.h
+++ b/src/app.h
@@ -1,6 +1,70 @@
 #ifndef APP_H_
 #define APP_H_
 
+#include "texture.h"
+#include "scene.h"
+
+extern long time_msec;
+extern int win_width, win_height;
+extern float win_aspect;
 extern bool opt_gear_wireframe;
+extern bool fb_srgb;
+
+extern TextureSet texman;
+extern SceneSet sceneman;
+
+extern unsigned int sdr_ltmap, sdr_ltmap_notex;
+
+enum {
+       MOD_SHIFT       = 1,
+       MOD_ALT         = 2,
+       MOD_CTRL        = 4
+};
+
+/* XXX make sure these match with SDL_GameControllerButton */
+enum {
+       GPAD_A,
+       GPAD_B,
+       GPAD_X,
+       GPAD_Y,
+       GPAD_BACK,
+       GPAD_GUIDE,
+       GPAD_START,
+       GPAD_LSTICK,
+       GPAD_RSTICK,
+       GPAD_L,
+       GPAD_R,
+       GPAD_UP,
+       GPAD_DOWN,
+       GPAD_LEFT,
+       GPAD_RIGHT,
+};
+
+bool app_init(int argc, char **argv);
+void app_cleanup();
+
+void app_display();
+void app_reshape(int x, int y);
+
+void app_keyboard(int key, bool pressed);
+void app_mouse_button(int bn, bool pressed, int x, int y);
+void app_mouse_motion(int x, int y);
+void app_mouse_delta(int dx, int dy);
+
+void app_gamepad_axis(int axis, float val);
+void app_gamepad_button(int bn, bool pressed);
+
+// the following functions are implemented by the backend (main.cc)
+void app_quit();
+void app_swap_buffers();
+unsigned int app_get_modifiers();
+
+void app_resize(int x, int y);
+void app_fullscreen(bool fs);
+void app_toggle_fullscreen();
+bool app_is_fullscreen();
+void app_grab_mouse(bool grab);
+void app_toggle_grab_mouse();
+bool app_is_mouse_grabbed();
 
 #endif // APP_H_