From 7470878f9ce281a28314a3923fcee8102c25007f Mon Sep 17 00:00:00 2001
From: Patrick Wuttke
Date: Fri, 19 Sep 2025 13:53:24 +0200
Subject: [PATCH] Added mMainWindowStyles variable to Application.
---
private/raid/application.cpp | 8 ++++++++
public/raid/raid.hpp | 4 ++++
2 files changed, 12 insertions(+)
diff --git a/private/raid/application.cpp b/private/raid/application.cpp
index 80f470b..32fb999 100644
--- a/private/raid/application.cpp
+++ b/private/raid/application.cpp
@@ -96,8 +96,16 @@ int Application::run(int argc, char** argv)
ImGui::SetNextWindowPos(ImGui::GetMainViewport()->Pos);
ImGui::SetNextWindowSize(ImGui::GetMainViewport()->Size);
ImGui::SetNextWindowViewport(ImGui::GetMainViewport()->ID);
+
+ for (const auto& [variable, value] : mMainWindowStyles) {
+ std::visit([&](auto val) {
+ ImGui::PushStyleVar(variable, val);
+ }, value);
+ }
ImGui::Begin("##main", nullptr, mMainWindowFlags);
+ ImGui::PopStyleVar(static_cast(mMainWindowStyles.size()));
+
render();
mTaskLoop.tick();
diff --git a/public/raid/raid.hpp b/public/raid/raid.hpp
index 3491353..8fcd33a 100644
--- a/public/raid/raid.hpp
+++ b/public/raid/raid.hpp
@@ -6,6 +6,7 @@
#include
#include
+#include
#include
#include
#include
@@ -63,6 +64,7 @@ private:
bool mRunning = true;
ImGuiWindowFlags mMainWindowFlags = DEFAULT_MAIN_WINDOW_FLAGS;
+ std::unordered_map> mMainWindowStyles;
using GLbitfield = std::uint32_t;
using GLint = std::int32_t;
@@ -108,6 +110,8 @@ public:
ImGuiWindowFlags getMainWindowFlags() const { return mMainWindowFlags; }
void setMainWindowFlags(ImGuiWindowFlags flags) { mMainWindowFlags = flags; }
+ void setMainWindowStyle(ImGuiStyleVar variable, std::variant value) { mMainWindowStyles.emplace(variable, value); }
+ void unsetMainWindowStyle(ImGuiStyleVar variable) { mMainWindowStyles.erase(variable); }
void requestQuit() { mRunning = false; }
[[nodiscard]]