diff options
Diffstat (limited to 'include/cru/ui/mapper/CursorMapper.hpp')
-rw-r--r-- | include/cru/ui/mapper/CursorMapper.hpp | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/include/cru/ui/mapper/CursorMapper.hpp b/include/cru/ui/mapper/CursorMapper.hpp index b4254061..6cb61d87 100644 --- a/include/cru/ui/mapper/CursorMapper.hpp +++ b/include/cru/ui/mapper/CursorMapper.hpp @@ -1,5 +1,21 @@ #pragma once #include "Mapper.hpp" #include "cru/platform/gui/Cursor.hpp" +#include "cru/xml/XmlNode.hpp" -namespace cru::ui::mapper::style {} +namespace cru::ui::mapper { +class CRU_UI_API CursorMapper : public BasicRefMapper<platform::gui::ICursor> { + public: + CRU_DEFAULT_CONSTRUCTOR_DESTRUCTOR(CursorMapper); + + public: + bool SupportMapFromString() override { return true; } + bool SupportMapFromXml() override { return true; } + bool XmlElementIsOfThisType(xml::XmlElementNode* node) override; + + protected: + std::shared_ptr<platform::gui::ICursor> DoMapFromString(String str) override; + std::shared_ptr<platform::gui::ICursor> DoMapFromXml( + xml::XmlElementNode* node) override; +}; +} // namespace cru::ui::mapper |