From afc40737f2dc990f4805342e52e2be128f161808 Mon Sep 17 00:00:00 2001 From: crupest Date: Sun, 6 Mar 2022 16:31:22 +0800 Subject: ... --- src/ui/mapper/style/ContentBrushStylerMapper.cpp | 30 ++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 src/ui/mapper/style/ContentBrushStylerMapper.cpp (limited to 'src/ui/mapper/style') diff --git a/src/ui/mapper/style/ContentBrushStylerMapper.cpp b/src/ui/mapper/style/ContentBrushStylerMapper.cpp new file mode 100644 index 00000000..e83f4988 --- /dev/null +++ b/src/ui/mapper/style/ContentBrushStylerMapper.cpp @@ -0,0 +1,30 @@ +#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 -- cgit v1.2.3