#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(); private: static bool decodeRGBA(std::string str, uint8_t out[4]); static std::map IMGUI_COL_IDS; std::map themes; };