From 560c0ead613658a2b7444907c3d1d69e49be8c32 Mon Sep 17 00:00:00 2001 From: crupest Date: Thu, 27 Jan 2022 21:21:51 +0800 Subject: ... --- src/ui/mapper/ColorMapper.cpp | 13 ++++++++++--- src/ui/mapper/MapperRegistry.cpp | 2 ++ 2 files changed, 12 insertions(+), 3 deletions(-) (limited to 'src/ui/mapper') diff --git a/src/ui/mapper/ColorMapper.cpp b/src/ui/mapper/ColorMapper.cpp index ddfa6b9b..063b2359 100644 --- a/src/ui/mapper/ColorMapper.cpp +++ b/src/ui/mapper/ColorMapper.cpp @@ -15,9 +15,16 @@ Color ColorMapper::DoMapFromString(String str) { Color ColorMapper::DoMapFromXml(xml::XmlElementNode* node) { auto value_attr = node->GetOptionalAttributeCaseInsensitive(u"value"); - if (!value_attr) { - return colors::transparent; + Color result = colors::transparent; + if (value_attr) { + result = DoMapFromString(*value_attr); } - return DoMapFromString(*value_attr); + + auto alpha_value_attr = node->GetOptionalAttributeCaseInsensitive(u"alpha"); + if (alpha_value_attr) { + result.alpha = alpha_value_attr->ParseToDouble() * 255; + } + + return result; } } // namespace cru::ui::mapper diff --git a/src/ui/mapper/MapperRegistry.cpp b/src/ui/mapper/MapperRegistry.cpp index a9c53129..97c5cf21 100644 --- a/src/ui/mapper/MapperRegistry.cpp +++ b/src/ui/mapper/MapperRegistry.cpp @@ -1,5 +1,6 @@ #include "cru/ui/mapper/MapperRegistry.hpp" #include "cru/ui/mapper/BorderStyleMapper.hpp" +#include "cru/ui/mapper/BrushMapper.hpp" #include "cru/ui/mapper/ColorMapper.hpp" #include "cru/ui/mapper/CornerRadiusMapper.hpp" #include "cru/ui/mapper/CursorMapper.hpp" @@ -26,6 +27,7 @@ MapperRegistry *MapperRegistry::GetInstance() { MapperRegistry::MapperRegistry() { using namespace style; + RegisterMapper(new BrushMapper()); RegisterMapper(new CornerRadiusMapper()); RegisterMapper(new PointMapper()); RegisterMapper(new SizeMapper()); -- cgit v1.2.3