rudimentary gamepad controls
[laserbrain_demo] / src / app.h
1 #ifndef APP_H_
2 #define APP_H_
3
4 extern long time_msec;
5 extern int win_width, win_height;
6 extern float win_aspect;
7 extern bool opt_gear_wireframe;
8 extern bool fb_srgb;
9
10 extern unsigned int sdr_ltmap, sdr_ltmap_notex;
11
12 enum {
13         MOD_SHIFT       = 1,
14         MOD_ALT         = 2,
15         MOD_CTRL        = 4
16 };
17
18 bool app_init(int argc, char **argv);
19 void app_cleanup();
20
21 void app_display();
22 void app_reshape(int x, int y);
23
24 void app_keyboard(int key, bool pressed);
25 void app_mouse_button(int bn, bool pressed, int x, int y);
26 void app_mouse_motion(int x, int y);
27 void app_mouse_delta(int dx, int dy);
28
29 void app_gamepad_axis(int axis, float val);
30 void app_gamepad_button(int bn, bool pressed);
31
32 // the following functions are implemented by the backend (main.cc)
33 void app_quit();
34 void app_swap_buffers();
35 unsigned int app_get_modifiers();
36
37 void app_resize(int x, int y);
38 void app_fullscreen(bool fs);
39 void app_toggle_fullscreen();
40 bool app_is_fullscreen();
41 void app_grab_mouse(bool grab);
42 void app_toggle_grab_mouse();
43 bool app_is_mouse_grabbed();
44
45 #endif  // APP_H_