oox/source/drawingml/color.cxx | 36 +++++++++++++++++++++++------------- 1 file changed, 23 insertions(+), 13 deletions(-)
New commits: commit de2038fcbf6c2ac55a4ce8db61b69083c6929d23 Author: Tomaž Vajngerl <tomaz.vajng...@collabora.co.uk> AuthorDate: Fri Jun 23 21:58:22 2023 +0900 Commit: Miklos Vajna <vmik...@collabora.com> CommitDate: Thu Aug 24 16:16:08 2023 +0200 oox: map color transforms direct to create model::Transform Change-Id: I82382f8d0936e90218fefe889ea5bfdd04c3e82b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153507 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <qui...@gmail.com> (cherry picked from commit 163ad701b61af6888bb9fbaaf2d8a49054f9a846) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156026 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoff...@gmail.com> Reviewed-by: Miklos Vajna <vmik...@collabora.com> diff --git a/oox/source/drawingml/color.cxx b/oox/source/drawingml/color.cxx index fca70e2018ab..63fc36541008 100644 --- a/oox/source/drawingml/color.cxx +++ b/oox/source/drawingml/color.cxx @@ -838,21 +838,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<sal_Int16>(-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; }