Refactor input handling in Controller to improve event processing structure

This commit is contained in:
scawful
2024-11-18 16:58:06 -05:00
parent d45917fcab
commit bf06fff0dc

View File

@@ -82,13 +82,14 @@ void Controller::OnInput() {
ImGui_ImplSDL2_ProcessEvent(&event); ImGui_ImplSDL2_ProcessEvent(&event);
switch (event.type) { switch (event.type) {
case SDL_KEYDOWN: case SDL_KEYDOWN:
case SDL_KEYUP: case SDL_KEYUP: {
ImGuiIO &io = ImGui::GetIO(); ImGuiIO &io = ImGui::GetIO();
io.KeyShift = ((SDL_GetModState() & KMOD_SHIFT) != 0); io.KeyShift = ((SDL_GetModState() & KMOD_SHIFT) != 0);
io.KeyCtrl = ((SDL_GetModState() & KMOD_CTRL) != 0); io.KeyCtrl = ((SDL_GetModState() & KMOD_CTRL) != 0);
io.KeyAlt = ((SDL_GetModState() & KMOD_ALT) != 0); io.KeyAlt = ((SDL_GetModState() & KMOD_ALT) != 0);
io.KeySuper = ((SDL_GetModState() & KMOD_GUI) != 0); io.KeySuper = ((SDL_GetModState() & KMOD_GUI) != 0);
break; break;
}
case SDL_WINDOWEVENT: case SDL_WINDOWEVENT:
switch (event.window.event) { switch (event.window.event) {
case SDL_WINDOWEVENT_CLOSE: case SDL_WINDOWEVENT_CLOSE:
@@ -107,7 +108,6 @@ void Controller::OnInput() {
} }
} }
ImGuiIO &io = ImGui::GetIO();
int mouseX; int mouseX;
int mouseY; int mouseY;
const int buttons = SDL_GetMouseState(&mouseX, &mouseY); const int buttons = SDL_GetMouseState(&mouseX, &mouseY);