From 103bcb137273729a0f23ff3771e26150a64454ba Mon Sep 17 00:00:00 2001 From: crupest Date: Thu, 27 Jan 2022 21:37:38 +0800 Subject: ... --- include/cru/ui/ThemeManager.hpp | 2 ++ include/cru/ui/UiManager.hpp | 44 ------------------------------------ include/cru/ui/mapper/FontMapper.hpp | 19 ++++++++++++++++ 3 files changed, 21 insertions(+), 44 deletions(-) delete mode 100644 include/cru/ui/UiManager.hpp create mode 100644 include/cru/ui/mapper/FontMapper.hpp (limited to 'include/cru/ui') diff --git a/include/cru/ui/ThemeManager.hpp b/include/cru/ui/ThemeManager.hpp index 7d52fa48..be9daa47 100644 --- a/include/cru/ui/ThemeManager.hpp +++ b/include/cru/ui/ThemeManager.hpp @@ -56,6 +56,8 @@ class CRU_UI_API ThemeManager : public Object { std::shared_ptr GetResourceBrush( const String& key); + std::shared_ptr GetResourceFont(const String& key); + std::shared_ptr GetResourceStyleRuleSet( const String& key); diff --git a/include/cru/ui/UiManager.hpp b/include/cru/ui/UiManager.hpp deleted file mode 100644 index 9ac7f416..00000000 --- a/include/cru/ui/UiManager.hpp +++ /dev/null @@ -1,44 +0,0 @@ -#pragma once -#include "Base.hpp" - -#include "controls/Base.hpp" -#include "cru/platform/graphics/Brush.hpp" -#include "cru/ui/helper/ClickDetector.hpp" -#include "style/StyleRuleSet.hpp" - -#include -#include -#include -#include - -namespace cru::ui { -struct ThemeResources { - String default_font_family; - std::shared_ptr default_font; - std::shared_ptr text_brush; - std::shared_ptr text_selection_brush; - std::shared_ptr caret_brush; -}; - -class CRU_UI_API UiManager : public Object { - public: - static UiManager* GetInstance(); - - private: - UiManager(); - - public: - UiManager(const UiManager& other) = delete; - UiManager(UiManager&& other) = delete; - UiManager& operator=(const UiManager& other) = delete; - UiManager& operator=(UiManager&& other) = delete; - ~UiManager() override; - - ThemeResources* GetThemeResources() { return &theme_resource_; } - - void ReadResourcesFile(const String& file_path); - - private: - ThemeResources theme_resource_; -}; -} // namespace cru::ui diff --git a/include/cru/ui/mapper/FontMapper.hpp b/include/cru/ui/mapper/FontMapper.hpp new file mode 100644 index 00000000..ad8c43b5 --- /dev/null +++ b/include/cru/ui/mapper/FontMapper.hpp @@ -0,0 +1,19 @@ +#pragma once +#include "Mapper.hpp" +#include "cru/common/Base.hpp" +#include "cru/platform/graphics/Font.hpp" + +namespace cru::ui::mapper { +class FontMapper : public BasicRefMapper { + public: + CRU_DEFAULT_CONSTRUCTOR_DESTRUCTOR(FontMapper) + + public: + bool SupportMapFromXml() override { return true; } + bool XmlElementIsOfThisType(xml::XmlElementNode* node) override; + + protected: + std::shared_ptr DoMapFromXml( + xml::XmlElementNode* node) override; +}; +} // namespace cru::ui::mapper -- cgit v1.2.3