aboutsummaryrefslogtreecommitdiff
path: root/include/cru/ui/mapper/style/IConditionMapper.h
blob: bfe24224e96a343d5c1839a68737b0a99d7b6e78 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#pragma once
#include "../../Base.h"
#include "cru/base/ClonablePtr.h"
#include "cru/ui/mapper/Mapper.h"
#include "cru/ui/style/Condition.h"
#include "cru/xml/XmlNode.h"

namespace cru::ui::mapper::style {
struct CRU_UI_API IConditionMapper : virtual Interface {
  bool XmlElementIsOfThisType(xml::XmlElementNode* node) {
    return dynamic_cast<MapperBase*>(this)->XmlElementIsOfThisType(node);
  }

  virtual ClonablePtr<ui::style::Condition> MapConditionFromXml(
      xml::XmlElementNode* node) = 0;
};
}  // namespace cru::ui::mapper::style