#include "cru/ui/mapper/style/ContentBrushStylerMapper.h" #include "cru/common/ClonablePtr.h" #include "cru/platform/graphics/Brush.h" #include "cru/ui/mapper/MapperRegistry.h" #include "cru/ui/style/Styler.h" #include "cru/xml/XmlNode.h" namespace cru::ui::mapper::style { ContentBrushStylerMapper::ContentBrushStylerMapper() { SetAllowedTags({u"ContentBrushStyler"}); } ContentBrushStylerMapper::~ContentBrushStylerMapper() {} ClonablePtr ContentBrushStylerMapper::DoMapFromXml(xml::XmlElementNode* node) { auto brush_mapper = MapperRegistry::GetInstance() ->GetSharedPtrMapper(); std::shared_ptr brush; for (auto child_node : node->GetChildren()) { if (child_node->IsElementNode()) { brush = brush_mapper->MapFromXml(child_node->AsElement()); } } return ui::style::ContentBrushStyler::Create(std::move(brush)); } } // namespace cru::ui::mapper::style