include/oox/drawingml/fillproperties.hxx            |    1 +
 oox/source/drawingml/fillproperties.cxx             |    4 ++++
 oox/source/drawingml/fillpropertiesgroupcontext.cxx |    3 +++
 sw/qa/extras/ooxmlimport/data/tdf100830.docx        |binary
 sw/qa/extras/ooxmlimport/ooxmlimport.cxx            |    6 ++++++
 5 files changed, 14 insertions(+)

New commits:
commit 21122a831aee1d548c9c539b27f15588675ceee5
Author: Miklos Vajna <vmik...@collabora.co.uk>
Date:   Tue Oct 4 09:24:42 2016 +0200

    tdf#100830 drawingML import: handle <a:alphaModFix>
    
    Fill transparency on the UI. Regression from commit
    57450afb768c085df0ba2344aa94b5f843060178 (DOCX import: declare wps as a
    supported feature, 2013-12-03), as the VML import handled this.
    
    (cherry picked from commit ecfcee8b05e45ec82dec6ed417e9ac53d4d7b4ff)
    
    Change-Id: I654b51d51448d25d400979a4a62189b86126ac01
    Reviewed-on: https://gerrit.libreoffice.org/29560
    Tested-by: Jenkins <c...@libreoffice.org>
    Reviewed-by: Michael Stahl <mst...@redhat.com>

diff --git a/include/oox/drawingml/fillproperties.hxx 
b/include/oox/drawingml/fillproperties.hxx
index 3015424..bed67d6 100644
--- a/include/oox/drawingml/fillproperties.hxx
+++ b/include/oox/drawingml/fillproperties.hxx
@@ -121,6 +121,7 @@ struct BlipFillProperties
     Color                 maDuotoneColors[2];     /// Duotone Colors
 
     ArtisticEffectProperties maEffect;          /// Artistic effect, not 
supported by core.
+    OptValue<sal_Int32> moAlphaModFix; ///< Alpha Modulate Fixed Effect.
 
     /** Overwrites all members that are explicitly set in rSourceProps. */
     void                assignUsed( const BlipFillProperties& rSourceProps );
diff --git a/oox/source/drawingml/fillproperties.cxx 
b/oox/source/drawingml/fillproperties.cxx
index 9044b5d..c283212 100644
--- a/oox/source/drawingml/fillproperties.cxx
+++ b/oox/source/drawingml/fillproperties.cxx
@@ -205,6 +205,7 @@ void BlipFillProperties::assignUsed( const 
BlipFillProperties& rSourceProps )
     maDuotoneColors[0].assignIfUsed( rSourceProps.maDuotoneColors[0] );
     maDuotoneColors[1].assignIfUsed( rSourceProps.maDuotoneColors[1] );
     maEffect.assignUsed( rSourceProps.maEffect );
+    moAlphaModFix.assignIfUsed(rSourceProps.moAlphaModFix);
 }
 
 void FillProperties::assignUsed( const FillProperties& rSourceProps )
@@ -652,6 +653,9 @@ void FillProperties::pushToPropMap( ShapePropertyMap& 
rPropMap,
                             }
                         }
                     }
+
+                    if (maBlipProps.moAlphaModFix.has())
+                        rPropMap.setProperty(SHAPEPROP_FillTransparency, 
static_cast<sal_Int16>(maBlipProps.moAlphaModFix.get() / PER_PERCENT));
                 }
             break;
 
diff --git a/oox/source/drawingml/fillpropertiesgroupcontext.cxx 
b/oox/source/drawingml/fillpropertiesgroupcontext.cxx
index ecfdb33..1bd514f 100644
--- a/oox/source/drawingml/fillpropertiesgroupcontext.cxx
+++ b/oox/source/drawingml/fillpropertiesgroupcontext.cxx
@@ -190,6 +190,9 @@ ContextHandlerRef BlipContext::onCreateContext(
             mrBlipProps.moBrightness = rAttribs.getInteger( XML_bright );
             mrBlipProps.moContrast = rAttribs.getInteger( XML_contrast );
         break;
+        case A_TOKEN( alphaModFix ):
+            mrBlipProps.moAlphaModFix = rAttribs.getInteger(XML_amt);
+        break;
     }
     return nullptr;
 }
diff --git a/sw/qa/extras/ooxmlimport/data/tdf100830.docx 
b/sw/qa/extras/ooxmlimport/data/tdf100830.docx
new file mode 100644
index 0000000..a51b890
Binary files /dev/null and b/sw/qa/extras/ooxmlimport/data/tdf100830.docx differ
diff --git a/sw/qa/extras/ooxmlimport/ooxmlimport.cxx 
b/sw/qa/extras/ooxmlimport/ooxmlimport.cxx
index 8b7de50..59a015b 100644
--- a/sw/qa/extras/ooxmlimport/ooxmlimport.cxx
+++ b/sw/qa/extras/ooxmlimport/ooxmlimport.cxx
@@ -3245,6 +3245,12 @@ DECLARE_OOXMLIMPORT_TEST(testTdf99140, "tdf99140.docx")
     CPPUNIT_ASSERT_EQUAL(text::HoriOrientation::LEFT_AND_WIDTH, 
getProperty<sal_Int16>(xTableProperties, "HoriOrient"));
 }
 
+DECLARE_OOXMLIMPORT_TEST(testTdf100830, "tdf100830.docx")
+{
+    // FillTransparence wasn't imported, this was 0.
+    CPPUNIT_ASSERT_EQUAL(static_cast<sal_Int16>(50), 
getProperty<sal_Int16>(getShape(1), "FillTransparence"));
+}
+
 CPPUNIT_PLUGIN_IMPLEMENT();
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to