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;
 }
 

Reply via email to