Added mMainWindowStyles variable to Application.
This commit is contained in:
parent
d74474a042
commit
7470878f9c
@ -97,7 +97,15 @@ int Application::run(int argc, char** argv)
|
|||||||
ImGui::SetNextWindowSize(ImGui::GetMainViewport()->Size);
|
ImGui::SetNextWindowSize(ImGui::GetMainViewport()->Size);
|
||||||
ImGui::SetNextWindowViewport(ImGui::GetMainViewport()->ID);
|
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::Begin("##main", nullptr, mMainWindowFlags);
|
||||||
|
ImGui::PopStyleVar(static_cast<int>(mMainWindowStyles.size()));
|
||||||
|
|
||||||
render();
|
render();
|
||||||
|
|
||||||
mTaskLoop.tick();
|
mTaskLoop.tick();
|
||||||
|
@ -6,6 +6,7 @@
|
|||||||
|
|
||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
#include <functional>
|
#include <functional>
|
||||||
|
#include <variant>
|
||||||
#include <fmt/format.h>
|
#include <fmt/format.h>
|
||||||
#include <imgui.h>
|
#include <imgui.h>
|
||||||
#include <mijin/async/coroutine.hpp>
|
#include <mijin/async/coroutine.hpp>
|
||||||
@ -63,6 +64,7 @@ private:
|
|||||||
|
|
||||||
bool mRunning = true;
|
bool mRunning = true;
|
||||||
ImGuiWindowFlags mMainWindowFlags = DEFAULT_MAIN_WINDOW_FLAGS;
|
ImGuiWindowFlags mMainWindowFlags = DEFAULT_MAIN_WINDOW_FLAGS;
|
||||||
|
std::unordered_map<ImGuiStyleVar, std::variant<float, ImVec2>> mMainWindowStyles;
|
||||||
|
|
||||||
using GLbitfield = std::uint32_t;
|
using GLbitfield = std::uint32_t;
|
||||||
using GLint = std::int32_t;
|
using GLint = std::int32_t;
|
||||||
@ -108,6 +110,8 @@ public:
|
|||||||
ImGuiWindowFlags getMainWindowFlags() const { return mMainWindowFlags; }
|
ImGuiWindowFlags getMainWindowFlags() const { return mMainWindowFlags; }
|
||||||
|
|
||||||
void setMainWindowFlags(ImGuiWindowFlags flags) { mMainWindowFlags = flags; }
|
void setMainWindowFlags(ImGuiWindowFlags flags) { mMainWindowFlags = flags; }
|
||||||
|
void setMainWindowStyle(ImGuiStyleVar variable, std::variant<float, ImVec2> value) { mMainWindowStyles.emplace(variable, value); }
|
||||||
|
void unsetMainWindowStyle(ImGuiStyleVar variable) { mMainWindowStyles.erase(variable); }
|
||||||
void requestQuit() { mRunning = false; }
|
void requestQuit() { mRunning = false; }
|
||||||
|
|
||||||
[[nodiscard]]
|
[[nodiscard]]
|
||||||
|
Loading…
x
Reference in New Issue
Block a user