static Renderer *rend;
-static bool show_debug_gui;
-
bool app_init(int argc, char **argv)
{
float dt = (float)(time_msec - prev_msec) / 1000.0f;
prev_msec = time_msec;
- if(show_debug_gui) {
+ if(debug_gui) {
ImGui::GetIOPtr()->DeltaTime = dt;
ImGui::NewFrame();
draw_vrhands();
}
- if(show_debug_gui) {
+ if(debug_gui) {
ImGui::Render();
}
}
glUseProgram(0);
}
- if(show_debug_gui) {
+ if(debug_gui) {
ImGui::Render();
}
app_swap_buffers();
{
unsigned int mod = app_get_modifiers();
- if(!debug_gui_key(key, pressed, mod)) {
- // the debug gui indicated that we should ignore the event
- return;
+ if(debug_gui && !(pressed && (key == '`' || key == 27))) {
+ debug_gui_key(key, pressed, mod);
+ return; // ignore all keystrokes when GUI is visible
}
if(pressed) {
}
break;
- case '\t':
- show_debug_gui = !show_debug_gui;
- show_message("debug gui %s", show_debug_gui ? "enabled" : "disabled");
+ case '`':
+ debug_gui = !debug_gui;
+ show_message("debug gui %s", debug_gui ? "enabled" : "disabled");
break;
- case '`':
+ case 'm':
app_toggle_grab_mouse();
show_message("mouse %s", app_is_mouse_grabbed() ? "grabbed" : "released");
break;
void app_mouse_button(int bn, bool pressed, int x, int y)
{
- if(!debug_gui_mbutton(bn, pressed, x, y)) {
- // the debug GUI indicated we should ignore the event
- return;
+ if(debug_gui) {
+ debug_gui_mbutton(bn, pressed, x, y);
+ return; // ignore mouse events while GUI is visible
}
prev_mx = x;
void app_mouse_motion(int x, int y)
{
- if(!debug_gui_mmotion(x, y)) {
- // the debug GUI indicated we should ignore the event
- return;
+ if(debug_gui) {
+ debug_gui_mmotion(x, y);
+ return; // ignore mouse events while GUI is visible
}
int dx = x - prev_mx;
}
}
+void app_mouse_wheel(int dir)
+{
+ if(debug_gui) {
+ debug_gui_wheel(dir);
+ }
+}
+
void app_gamepad_axis(int axis, float val)
{
switch(axis) {