diff options
Diffstat (limited to 'src/platform/gui/sdl/UiApplication.cpp')
| -rw-r--r-- | src/platform/gui/sdl/UiApplication.cpp | 36 |
1 files changed, 3 insertions, 33 deletions
diff --git a/src/platform/gui/sdl/UiApplication.cpp b/src/platform/gui/sdl/UiApplication.cpp index d2275a37..6d52b5f7 100644 --- a/src/platform/gui/sdl/UiApplication.cpp +++ b/src/platform/gui/sdl/UiApplication.cpp @@ -157,40 +157,10 @@ long long SdlUiApplication::SetTimer(std::chrono::milliseconds milliseconds, return timers_.Add(std::move(action), milliseconds, repeat); } -namespace { -std::optional<SDL_WindowID> GetEventWindowId(const SDL_Event& event) { - switch (event.type) { - case SDL_EVENT_WINDOW_MOVED: - case SDL_EVENT_WINDOW_RESIZED: - case SDL_EVENT_WINDOW_SHOWN: - case SDL_EVENT_WINDOW_HIDDEN: - case SDL_EVENT_WINDOW_MINIMIZED: - case SDL_EVENT_WINDOW_FOCUS_GAINED: - case SDL_EVENT_WINDOW_FOCUS_LOST: - case SDL_EVENT_WINDOW_MOUSE_ENTER: - case SDL_EVENT_WINDOW_MOUSE_LEAVE: - case SDL_EVENT_WINDOW_DESTROYED: - return event.window.windowID; - case SDL_EVENT_MOUSE_BUTTON_DOWN: - case SDL_EVENT_MOUSE_BUTTON_UP: - return event.button.windowID; - case SDL_EVENT_MOUSE_WHEEL: - return event.wheel.windowID; - case SDL_EVENT_KEY_DOWN: - case SDL_EVENT_KEY_UP: - return event.key.windowID; - default: - return std::nullopt; - } -} -} // namespace - bool SdlUiApplication::DispatchEvent(const SDL_Event& event) { - if (auto window_id = GetEventWindowId(event)) { - for (auto window : windows_) { - if (window->sdl_window_id_ == *window_id && window->HandleEvent(&event)) { - return true; - } + for (auto window : windows_) { + if (window->HandleEvent(&event)) { + return true; } } return false; |
