aboutsummaryrefslogtreecommitdiff
path: root/include/cru/ui/mapper
diff options
context:
space:
mode:
Diffstat (limited to 'include/cru/ui/mapper')
-rw-r--r--include/cru/ui/mapper/style/ClickStateConditionMapper.hpp2
-rw-r--r--include/cru/ui/mapper/style/HoverConditionMapper.hpp26
2 files changed, 27 insertions, 1 deletions
diff --git a/include/cru/ui/mapper/style/ClickStateConditionMapper.hpp b/include/cru/ui/mapper/style/ClickStateConditionMapper.hpp
index 2fea5353..63577641 100644
--- a/include/cru/ui/mapper/style/ClickStateConditionMapper.hpp
+++ b/include/cru/ui/mapper/style/ClickStateConditionMapper.hpp
@@ -6,7 +6,7 @@
namespace cru::ui::mapper::style {
class CRU_UI_API ClickStateConditionMapper
: public BasicPtrMapper<ui::style::ClickStateCondition>,
- public IConditionMapper {
+ public virtual IConditionMapper {
public:
CRU_DEFAULT_CONSTRUCTOR_DESTRUCTOR(ClickStateConditionMapper)
diff --git a/include/cru/ui/mapper/style/HoverConditionMapper.hpp b/include/cru/ui/mapper/style/HoverConditionMapper.hpp
new file mode 100644
index 00000000..bbd840f0
--- /dev/null
+++ b/include/cru/ui/mapper/style/HoverConditionMapper.hpp
@@ -0,0 +1,26 @@
+#pragma once
+#include "../Mapper.hpp"
+#include "IConditionMapper.hpp"
+#include "cru/ui/style/Condition.hpp"
+
+namespace cru::ui::mapper::style {
+class CRU_UI_API HoverConditionMapper
+ : public BasicPtrMapper<ui::style::HoverCondition>,
+ public virtual IConditionMapper {
+ public:
+ CRU_DEFAULT_CONSTRUCTOR_DESTRUCTOR(HoverConditionMapper)
+
+ public:
+ bool SupportMapFromXml() override { return true; }
+ bool XmlElementIsOfThisType(xml::XmlElementNode* node) override;
+
+ ClonablePtr<ui::style::Condition> MapConditionFromXml(
+ xml::XmlElementNode* node) override {
+ return MapFromXml(node);
+ }
+
+ protected:
+ ClonablePtr<ui::style::HoverCondition> DoMapFromXml(
+ xml::XmlElementNode* node) override;
+};
+} // namespace cru::ui::mapper::style