9 extern int win_width, win_height;
10 extern int vp_width, vp_height; // viewport size differs from win size during VR eye rendering
11 extern float win_aspect;
12 extern bool opt_gear_wireframe;
15 extern TextureSet texman;
16 extern SceneSet sceneman;
18 extern ExSelection exsel_active; // active (info/interact) exhibit
19 extern ExSelection exsel_grab_left, exsel_grab_right; // grabbed on each hand
20 extern ExSelection exsel_hover; // hover
22 extern unsigned int dbg_key_pending;
24 extern int fpexcept_enabled; // int so that C modules may fwd-delcare and use it
57 /* XXX make sure these match with SDL_GameControllerButton */
76 bool app_init(int argc, char **argv);
80 void app_reshape(int x, int y);
82 void app_keyboard(int key, bool pressed);
83 void app_mouse_button(int bn, bool pressed, int x, int y);
84 void app_mouse_motion(int x, int y);
85 void app_mouse_delta(int dx, int dy);
86 void app_mouse_wheel(int dir);
88 void app_gamepad_axis(int axis, float val);
89 void app_gamepad_button(int bn, bool pressed);
91 // the following functions are implemented by the backend (main.cc)
93 void app_swap_buffers();
94 unsigned int app_get_modifiers();
96 void app_resize(int x, int y);
97 void app_fullscreen(bool fs);
98 void app_toggle_fullscreen();
99 bool app_is_fullscreen();
100 void app_grab_mouse(bool grab);
101 void app_toggle_grab_mouse();
102 bool app_is_mouse_grabbed();