From 37df3a34f0d878aa180f623fae6cf9c1c4f58062 Mon Sep 17 00:00:00 2001 From: Tomaž Vajngerl Date: Fri, 23 Jun 2023 21:58:22 +0900 Subject: oox: map color transforms direct to create model::Transform MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: I82382f8d0936e90218fefe889ea5bfdd04c3e82b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153507 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl Signed-off-by: Xisco Fauli Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153678 --- oox/source/drawingml/color.cxx | 36 +++++++++++++++++++++++------------- 1 file changed, 23 insertions(+), 13 deletions(-) (limited to 'oox') diff --git a/oox/source/drawingml/color.cxx b/oox/source/drawingml/color.cxx index d13e29839227..9a14fb413439 100644 --- a/oox/source/drawingml/color.cxx +++ b/oox/source/drawingml/color.cxx @@ -839,21 +839,31 @@ model::ComplexColor Color::createComplexColor(const GraphicHelper& /*rGraphicHel return aNewComplexColor; } - if (getLumMod() != 10000) - aNewComplexColor.addTransformation({model::TransformationType::LumMod, getLumMod()}); - - if (getLumOff() != 0) - aNewComplexColor.addTransformation({model::TransformationType::LumOff, getLumOff()}); - - if (getTintOrShade() > 0) - { - aNewComplexColor.addTransformation({model::TransformationType::Tint, getTintOrShade()}); - } - else if (getTintOrShade() < 0) + for(auto const& aTransform : maTransforms) { - sal_Int16 nShade = o3tl::narrowing(-getTintOrShade()); - aNewComplexColor.addTransformation({model::TransformationType::Shade, nShade}); + sal_Int16 nValue = sal_Int16(aTransform.mnValue / 10); + + switch(aTransform.mnToken) + { + case XML_lumMod: + if (nValue != 10'000) + aNewComplexColor.addTransformation({model::TransformationType::LumMod, nValue}); + break; + case XML_lumOff: + if (nValue != 0) + aNewComplexColor.addTransformation({model::TransformationType::LumOff, nValue}); + break; + case XML_tint: + if (nValue != 0) + aNewComplexColor.addTransformation({model::TransformationType::Tint, nValue}); + break; + case XML_shade: + if (nValue != 0) + aNewComplexColor.addTransformation({model::TransformationType::Shade, nValue}); + break; + } } + return aNewComplexColor; } -- cgit