diff options
Diffstat (limited to 'include/cru/ui/mapper/CursorMapper.h')
-rw-r--r-- | include/cru/ui/mapper/CursorMapper.h | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/include/cru/ui/mapper/CursorMapper.h b/include/cru/ui/mapper/CursorMapper.h new file mode 100644 index 00000000..d98a798c --- /dev/null +++ b/include/cru/ui/mapper/CursorMapper.h @@ -0,0 +1,21 @@ +#pragma once +#include "Mapper.h" +#include "cru/platform/gui/Cursor.h" +#include "cru/xml/XmlNode.h" + +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 |