#pragma once #include #include #include #include #include using nlohmann::json; struct Theme { std::string author; json data; }; class ThemeManager { public: bool loadThemesFromDir(std::string path); bool loadTheme(std::string path); bool applyTheme(std::string name); std::vector getThemeNames(); ImVec4 waterfallBg = ImVec4(0.0f, 0.0f, 0.0f, 1.0f);; ImVec4 clearColor = ImVec4(0.0666f, 0.0666f, 0.0666f, 1.0f); private: static bool decodeRGBA(std::string str, uint8_t out[4]); static std::map IMGUI_COL_IDS; std::map themes; };