diff options
author | crupest <crupest@outlook.com> | 2022-01-27 21:21:51 +0800 |
---|---|---|
committer | crupest <crupest@outlook.com> | 2022-01-27 21:21:51 +0800 |
commit | 560c0ead613658a2b7444907c3d1d69e49be8c32 (patch) | |
tree | 37938098f0e80403d572accf9f7a275ec8792c00 /src/ui/mapper | |
parent | 56633dab8c1bf9d25a6367a651b5b054055a2130 (diff) | |
download | cru-560c0ead613658a2b7444907c3d1d69e49be8c32.tar.gz cru-560c0ead613658a2b7444907c3d1d69e49be8c32.tar.bz2 cru-560c0ead613658a2b7444907c3d1d69e49be8c32.zip |
...
Diffstat (limited to 'src/ui/mapper')
-rw-r--r-- | src/ui/mapper/ColorMapper.cpp | 13 | ||||
-rw-r--r-- | src/ui/mapper/MapperRegistry.cpp | 2 |
2 files changed, 12 insertions, 3 deletions
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()); |