initial commit
[vrtris] / src / game.h
1 #ifndef GAME_H_
2 #define GAME_H_
3
4 long time_msec;
5 int win_width, win_height;
6 int vp_width, vp_height;        /* viewport size differs from win size during VR eye rendering */
7 float win_aspect;
8 int fb_srgb;
9
10 enum {
11         MOD_SHIFT       = 1,
12         MOD_ALT         = 2,
13         MOD_CTRL        = 4
14 };
15
16 /* special keys */
17 enum {
18         KEY_DEL = 127,
19         KEY_LEFT,
20         KEY_RIGHT,
21         KEY_UP,
22         KEY_DOWN,
23         KEY_PGUP,
24         KEY_PGDOWN,
25         KEY_HOME,
26         KEY_END,
27         KEY_F1,
28         KEY_F2,
29         KEY_F3,
30         KEY_F4,
31         KEY_F5,
32         KEY_F6,
33         KEY_F7,
34         KEY_F8,
35         KEY_F9,
36         KEY_F10,
37         KEY_F11,
38         KEY_F12
39 };
40
41 /* XXX make sure these match with SDL_GameControllerButton */
42 enum {
43         GPAD_A,
44         GPAD_B,
45         GPAD_X,
46         GPAD_Y,
47         GPAD_BACK,
48         GPAD_GUIDE,
49         GPAD_START,
50         GPAD_LSTICK,
51         GPAD_RSTICK,
52         GPAD_L,
53         GPAD_R,
54         GPAD_UP,
55         GPAD_DOWN,
56         GPAD_LEFT,
57         GPAD_RIGHT,
58 };
59
60 int game_init(int argc, char **argv);
61 void game_cleanup();
62
63 void game_display();
64 void game_reshape(int x, int y);
65
66 void game_keyboard(int key, int pressed);
67 void game_mouse_button(int bn, int pressed, int x, int y);
68 void game_mouse_motion(int x, int y);
69 void game_mouse_delta(int dx, int dy);
70 void game_mouse_wheel(int dir);
71
72 void game_gamepad_axis(int axis, float val);
73 void game_gamepad_button(int bn, int pressed);
74
75 /* the following functions are implemented by the backend (main.c) */
76 void game_quit();
77 void game_swap_buffers();
78 unsigned int game_get_modifiers();
79
80 void game_resize(int x, int y);
81 void game_fullscreen(int fs);
82 void game_toggle_fullscreen();
83 int game_is_fullscreen();
84
85 #endif  // GAME_H_