diff options
author | crupest <crupest@outlook.com> | 2021-05-10 17:09:15 +0800 |
---|---|---|
committer | crupest <crupest@outlook.com> | 2021-05-10 17:09:15 +0800 |
commit | ae5042599688af2d8b462e49e3cd103b6ec92fe9 (patch) | |
tree | fb910abe7afb65621e52f2c23ce151cb1ff45baa /include/cru/ui/ThemeManager.hpp | |
parent | 34739cd02557bdecb0c3f1b35ffc5816eb3133ac (diff) | |
download | cru-ae5042599688af2d8b462e49e3cd103b6ec92fe9.tar.gz cru-ae5042599688af2d8b462e49e3cd103b6ec92fe9.tar.bz2 cru-ae5042599688af2d8b462e49e3cd103b6ec92fe9.zip |
...
Diffstat (limited to 'include/cru/ui/ThemeManager.hpp')
-rw-r--r-- | include/cru/ui/ThemeManager.hpp | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/include/cru/ui/ThemeManager.hpp b/include/cru/ui/ThemeManager.hpp new file mode 100644 index 00000000..c9e17680 --- /dev/null +++ b/include/cru/ui/ThemeManager.hpp @@ -0,0 +1,27 @@ +#pragma once +#include "Base.hpp" +#include "cru/common/Base.hpp" +#include "cru/common/Event.hpp" + +#include <boost/property_tree/ptree.hpp> +#include <cstddef> + +namespace cru::ui { +class ThemeManager : public Object { + public: + ThemeManager(); + + CRU_DELETE_COPY(ThemeManager) + CRU_DELETE_MOVE(ThemeManager) + + ~ThemeManager() override; + + IEvent<std::nullptr_t>* ThemeResourceChangeEvent() { + return &theme_resource_change_event_; + } + + private: + Event<std::nullptr_t> theme_resource_change_event_; + boost::property_tree::iptree theme_tree_; +}; +} // namespace cru::ui |