diff options
-rw-r--r-- | ui/gameMainWindow.cpp | 19 | ||||
-rw-r--r-- | ui/gameMainWindow.h | 2 | ||||
-rw-r--r-- | ui/mainWindow.cpp | 5 |
3 files changed, 25 insertions, 1 deletions
diff --git a/ui/gameMainWindow.cpp b/ui/gameMainWindow.cpp index f63137c..d88bab5 100644 --- a/ui/gameMainWindow.cpp +++ b/ui/gameMainWindow.cpp @@ -43,6 +43,25 @@ GameMainWindow::tick(TickDuration) uiComponents.apply<CameraController>(&CameraController::updateCamera, &camera); } +bool +GameMainWindow::handleInput(const SDL_Event & event) +{ + switch (event.type) { + case SDL_WINDOWEVENT: + switch (event.window.event) { + case SDL_WINDOWEVENT_RESIZED: + SceneRenderer::resize({event.window.data1, event.window.data2}); + break; + default: + break; + } + default: + break; + } + + return WindowContent::handleInput(event); +} + void GameMainWindow::render() const { diff --git a/ui/gameMainWindow.h b/ui/gameMainWindow.h index 43980e8..b0f1592 100644 --- a/ui/gameMainWindow.h +++ b/ui/gameMainWindow.h @@ -17,6 +17,8 @@ public: void render() const override; private: + bool handleInput(const SDL_Event &) override; + void content(const SceneShader &, const Frustum &) const override; void environment(const SceneShader &, const SceneRenderer &) const override; void lights(const SceneShader &) const override; diff --git a/ui/mainWindow.cpp b/ui/mainWindow.cpp index 38d6a6e..73c0b5b 100644 --- a/ui/mainWindow.cpp +++ b/ui/mainWindow.cpp @@ -8,7 +8,10 @@ #include "backends/imgui_impl_sdl2.h" #pragma GCC diagnostic pop -MainWindow::MainWindow(size_t w, size_t h) : MainWindow {w, h, "I Like Trains", SDL_WINDOW_OPENGL} { } +MainWindow::MainWindow(size_t w, size_t h) : + MainWindow {w, h, "I Like Trains", SDL_WINDOW_RESIZABLE | SDL_WINDOW_OPENGL} +{ +} MainWindow::MainWindow(size_t w, size_t h, const std::string & title, Uint32 flags) : Window {w, h, title, flags} { |