From e4ed331cea817e55956200c9c116f8d11b54c86b Mon Sep 17 00:00:00 2001 From: Dan Goodliffe Date: Wed, 5 Jun 2024 02:21:00 +0100 Subject: Add imgui init and shutdown to appbase and gamemainwindow --- ui/gameMainWindow.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'ui/gameMainWindow.cpp') diff --git a/ui/gameMainWindow.cpp b/ui/gameMainWindow.cpp index ccbcdba..8e93694 100644 --- a/ui/gameMainWindow.cpp +++ b/ui/gameMainWindow.cpp @@ -16,6 +16,12 @@ #include #include +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wold-style-cast" +#include "backends/imgui_impl_opengl3.h" +#include "backends/imgui_impl_sdl2.h" +#pragma GCC diagnostic pop + class GameMainToolbar : Mode, public Toolbar { public: explicit GameMainToolbar(GameMainSelector * gms_) : @@ -30,11 +36,20 @@ public: GameMainWindow::GameMainWindow(size_t w, size_t h) : Window {w, h, "I Like Trains", SDL_WINDOW_OPENGL}, SceneRenderer {Window::size, 0} { + ImGui_ImplSDL2_InitForOpenGL(m_window, glContext.get()); + ImGui_ImplOpenGL3_Init(); + uiComponents.create(glm::vec2 {310'727'624, 494'018'810}); auto gms = uiComponents.create(&camera, ScreenAbsCoord {w, h}); uiComponents.create(gms.get()); } +GameMainWindow::~GameMainWindow() +{ + ImGui_ImplOpenGL3_Shutdown(); + ImGui_ImplSDL2_Shutdown(); +} + void GameMainWindow::tick(TickDuration) { -- cgit v1.2.3 From 02c3f1fd622bb5b4da1462c5bb507a4a541447d5 Mon Sep 17 00:00:00 2001 From: Dan Goodliffe Date: Sat, 15 Jun 2024 15:28:53 +0100 Subject: First cut reshuffling app/window/gl/render bits --- ui/gameMainWindow.cpp | 23 ++++++----------------- 1 file changed, 6 insertions(+), 17 deletions(-) (limited to 'ui/gameMainWindow.cpp') diff --git a/ui/gameMainWindow.cpp b/ui/gameMainWindow.cpp index 8e93694..6168504 100644 --- a/ui/gameMainWindow.cpp +++ b/ui/gameMainWindow.cpp @@ -16,12 +16,6 @@ #include #include -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wold-style-cast" -#include "backends/imgui_impl_opengl3.h" -#include "backends/imgui_impl_sdl2.h" -#pragma GCC diagnostic pop - class GameMainToolbar : Mode, public Toolbar { public: explicit GameMainToolbar(GameMainSelector * gms_) : @@ -33,22 +27,14 @@ public: } }; -GameMainWindow::GameMainWindow(size_t w, size_t h) : - Window {w, h, "I Like Trains", SDL_WINDOW_OPENGL}, SceneRenderer {Window::size, 0} +GameMainWindow::GameMainWindow(size_t w, size_t h) : WindowContent {w, h}, SceneRenderer {{w, h}, 0} { - ImGui_ImplSDL2_InitForOpenGL(m_window, glContext.get()); - ImGui_ImplOpenGL3_Init(); - uiComponents.create(glm::vec2 {310'727'624, 494'018'810}); auto gms = uiComponents.create(&camera, ScreenAbsCoord {w, h}); uiComponents.create(gms.get()); } -GameMainWindow::~GameMainWindow() -{ - ImGui_ImplOpenGL3_Shutdown(); - ImGui_ImplSDL2_Shutdown(); -} +GameMainWindow::~GameMainWindow() { } void GameMainWindow::tick(TickDuration) @@ -60,7 +46,10 @@ void GameMainWindow::render() const { SceneRenderer::render(*this); - Window::render(); + glEnable(GL_BLEND); + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + glDisable(GL_DEPTH_TEST); + uiComponents.apply(&UIComponent::render, uiShader, UIComponent::Position {}); } void -- cgit v1.2.3