[Libreoffice-commits] core.git: 11 commits - sw/qa sw/source writerfilter/source

Tomaž Vajngerl tomaz.vajngerl at collabora.com
Thu Feb 27 00:12:39 PST 2014


 sw/qa/extras/ooxmlexport/data/TextEffects_Props3d.docx  |binary
 sw/qa/extras/ooxmlexport/data/TextEffects_TextFill.docx |binary
 sw/qa/extras/ooxmlexport/ooxmlexport.cxx                |   67 ++
 sw/source/filter/ww8/docxattributeoutput.cxx            |   40 +
 writerfilter/source/dmapper/TextEffectsHandler.cxx      |  239 ++++++++
 writerfilter/source/dmapper/TextEffectsHandler.hxx      |    6 
 writerfilter/source/ooxml/model.xml                     |  436 +++++++++++++++-
 7 files changed, 770 insertions(+), 18 deletions(-)

New commits:
commit e9b6e7f6b4e78bd098b3a32e9288253938a00881
Author: Tomaž Vajngerl <tomaz.vajngerl at collabora.com>
Date:   Wed Feb 26 16:58:14 2014 +0100

    ooxml: extend roundtrip test with w14:props3d
    
    Change-Id: Ia7a3a998b07aefc94e6713c2ecf639166f1d3460

diff --git a/sw/qa/extras/ooxmlexport/data/TextEffects_Props3d.docx b/sw/qa/extras/ooxmlexport/data/TextEffects_Props3d.docx
new file mode 100644
index 0000000..3d36b4d2
Binary files /dev/null and b/sw/qa/extras/ooxmlexport/data/TextEffects_Props3d.docx differ
diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport.cxx b/sw/qa/extras/ooxmlexport/ooxmlexport.cxx
index fcc5a38..658ef03 100644
--- a/sw/qa/extras/ooxmlexport/ooxmlexport.cxx
+++ b/sw/qa/extras/ooxmlexport/ooxmlexport.cxx
@@ -2796,6 +2796,34 @@ DECLARE_OOXMLEXPORT_TEST(testW14TextEffects_TextFill, "TextEffects_TextFill.docx
     assertXPath(pXmlDoc, "/w:document/w:body/w:p[4]/w:r[1]/w:rPr/w14:textFill/w14:gradFill/w14:lin", "scaled", "0");
 }
 
+DECLARE_OOXMLEXPORT_TEST(testW14TextEffects_Props3d, "TextEffects_Props3d.docx")
+{
+    xmlDocPtr pXmlDoc = parseExport("word/document.xml");
+    if (!pXmlDoc)
+        return;
+    // Paragraph 1
+    assertXPath(pXmlDoc, "/w:document/w:body/w:p[1]/w:r[1]/w:rPr/w14:props3d", 1);
+    assertXPath(pXmlDoc, "/w:document/w:body/w:p[1]/w:r[1]/w:rPr/w14:props3d", "extrusionH", "63500");
+    assertXPath(pXmlDoc, "/w:document/w:body/w:p[1]/w:r[1]/w:rPr/w14:props3d", "contourW", "25400");
+    assertXPath(pXmlDoc, "/w:document/w:body/w:p[1]/w:r[1]/w:rPr/w14:props3d", "prstMaterial", "softEdge");
+
+    assertXPath(pXmlDoc, "/w:document/w:body/w:p[1]/w:r[1]/w:rPr/w14:props3d/w14:bevelT", "w", "38100");
+    assertXPath(pXmlDoc, "/w:document/w:body/w:p[1]/w:r[1]/w:rPr/w14:props3d/w14:bevelT", "h", "38100");
+    assertXPath(pXmlDoc, "/w:document/w:body/w:p[1]/w:r[1]/w:rPr/w14:props3d/w14:bevelT", "prst", "relaxedInset");
+
+    assertXPath(pXmlDoc, "/w:document/w:body/w:p[1]/w:r[1]/w:rPr/w14:props3d/w14:bevelB", "w", "69850");
+    assertXPath(pXmlDoc, "/w:document/w:body/w:p[1]/w:r[1]/w:rPr/w14:props3d/w14:bevelB", "h", "38100");
+    assertXPath(pXmlDoc, "/w:document/w:body/w:p[1]/w:r[1]/w:rPr/w14:props3d/w14:bevelB", "prst", "cross");
+
+    assertXPath(pXmlDoc, "/w:document/w:body/w:p[1]/w:r[1]/w:rPr/w14:props3d/w14:extrusionClr", 1);
+    assertXPath(pXmlDoc, "/w:document/w:body/w:p[1]/w:r[1]/w:rPr/w14:props3d/w14:extrusionClr/w14:schemeClr", "val", "accent2");
+    assertXPath(pXmlDoc, "/w:document/w:body/w:p[1]/w:r[1]/w:rPr/w14:props3d/w14:extrusionClr/w14:schemeClr/w14:lumMod", "val", "20000");
+    assertXPath(pXmlDoc, "/w:document/w:body/w:p[1]/w:r[1]/w:rPr/w14:props3d/w14:extrusionClr/w14:schemeClr/w14:lumOff", "val", "80000");
+
+    assertXPath(pXmlDoc, "/w:document/w:body/w:p[1]/w:r[1]/w:rPr/w14:props3d/w14:contourClr", 1);
+    assertXPath(pXmlDoc, "/w:document/w:body/w:p[1]/w:r[1]/w:rPr/w14:props3d/w14:contourClr/w14:srgbClr", "val", "92D050");
+}
+
 #endif
 
 CPPUNIT_PLUGIN_IMPLEMENT();
commit 416e098e20356ba1af30d0ab1f4a8b51a2c669cb
Author: Tomaž Vajngerl <tomaz.vajngerl at collabora.com>
Date:   Wed Feb 26 16:56:35 2014 +0100

    ooxml export: w14:props3d element
    
    Change-Id: I8182959bb75f4f0308b9285f29f6ea3c2b9b05e4

diff --git a/sw/source/filter/ww8/docxattributeoutput.cxx b/sw/source/filter/ww8/docxattributeoutput.cxx
index 9696920..fe7bf79 100644
--- a/sw/source/filter/ww8/docxattributeoutput.cxx
+++ b/sw/source/filter/ww8/docxattributeoutput.cxx
@@ -1176,6 +1176,8 @@ void DocxAttributeOutput::InitCollectedRunProperties()
         FSNS( XML_w14, XML_reflection ),
         FSNS( XML_w14, XML_textOutline ),
         FSNS( XML_w14, XML_textFill ),
+        FSNS( XML_w14, XML_scene3d ),
+        FSNS( XML_w14, XML_props3d ),
     };
 
     // postpone the output so that we can later [in EndParagraphProperties()]
@@ -1205,6 +1207,8 @@ const NameToId constNameToIdMapping[] =
     { OUString("reflection"),   FSNS( XML_w14, XML_reflection ) },
     { OUString("textOutline"),  FSNS( XML_w14, XML_textOutline ) },
     { OUString("textFill"),     FSNS( XML_w14, XML_textFill ) },
+    { OUString("scene3d"),      FSNS( XML_w14, XML_scene3d ) },
+    { OUString("props3d"),      FSNS( XML_w14, XML_props3d ) },
 
     { OUString("val"),          FSNS( XML_w14, XML_val ) },
     { OUString("rad"),          FSNS( XML_w14, XML_rad ) },
@@ -1238,6 +1242,10 @@ const NameToId constNameToIdMapping[] =
     { OUString("lat"),          FSNS( XML_w14, XML_lat ) },
     { OUString("lon"),          FSNS( XML_w14, XML_lon ) },
     { OUString("rev"),          FSNS( XML_w14, XML_rev ) },
+    { OUString("h"),            FSNS( XML_w14, XML_h ) },
+    { OUString("extrusionH"),   FSNS( XML_w14, XML_extrusionH ) },
+    { OUString("contourW"),     FSNS( XML_w14, XML_contourW ) },
+    { OUString("prstMaterial"), FSNS( XML_w14, XML_prstMaterial ) },
 
     { OUString("schemeClr"),    FSNS( XML_w14, XML_schemeClr ) },
     { OUString("srgbClr"),      FSNS( XML_w14, XML_srgbClr ) },
@@ -1267,6 +1275,11 @@ const NameToId constNameToIdMapping[] =
     { OUString("camera"),       FSNS( XML_w14, XML_camera ) },
     { OUString("lightRig"),     FSNS( XML_w14, XML_lightRig ) },
     { OUString("rot"),          FSNS( XML_w14, XML_rot ) },
+    { OUString("bevelT"),       FSNS( XML_w14, XML_bevelT ) },
+    { OUString("bevelB"),       FSNS( XML_w14, XML_bevelB ) },
+    { OUString("extrusionClr"), FSNS( XML_w14, XML_extrusionClr ) },
+    { OUString("contourClr"),   FSNS( XML_w14, XML_contourClr ) },
+
 };
 
 boost::optional<sal_Int32> lclGetElementIdForName(const OUString& rName)
@@ -6698,11 +6711,18 @@ void DocxAttributeOutput::CharGrabBag( const SfxGrabBagItem& rItem )
         {
             // just skip these, they were processed before
         }
-        else if (i->first == "CharGlowTextEffect" ||
-                 i->first == "CharShadowTextEffect" ||
-                 i->first == "CharReflectionTextEffect" ||
-                 i->first == "CharTextOutlineTextEffect" ||
-                 i->first == "CharTextFillTextEffect")
+        else if(i->first == "CharGlowTextEffect" ||
+                i->first == "CharShadowTextEffect" ||
+                i->first == "CharReflectionTextEffect" ||
+                i->first == "CharTextOutlineTextEffect" ||
+                i->first == "CharTextFillTextEffect" ||
+                i->first == "CharScene3DTextEffect" ||
+                i->first == "CharProps3DTextEffect" ||
+                i->first == "CharLigaturesTextEffect" ||
+                i->first == "CharNumFormTextEffect" ||
+                i->first == "CharNumSpacingTextEffect" ||
+                i->first == "CharStylisticSetsTextEffect" ||
+                i->first == "CharCntxtAltsTextEffect")
         {
             beans::PropertyValue aPropertyValue;
             i->second >>= aPropertyValue;
commit da3a77c36cdd857921cbcc7b9d7a1c5440475af1
Author: Tomaž Vajngerl <tomaz.vajngerl at collabora.com>
Date:   Wed Feb 26 16:55:29 2014 +0100

    writerfilter: put w14:props3d elements/attributes into a GrabBag
    
    Change-Id: Iebc465c1b5587ddddc546e2eef5cd33f6b247d2e

diff --git a/writerfilter/source/dmapper/TextEffectsHandler.cxx b/writerfilter/source/dmapper/TextEffectsHandler.cxx
index fb6d308..e900f2c 100644
--- a/writerfilter/source/dmapper/TextEffectsHandler.cxx
+++ b/writerfilter/source/dmapper/TextEffectsHandler.cxx
@@ -144,6 +144,10 @@ OUString getNameForElementId(sal_uInt32 aId)
         aIdMap[NS_ooxml::LN_CT_Scene3D_camera]                  = "camera";
         aIdMap[NS_ooxml::LN_CT_Scene3D_lightRig]                = "lightRig";
         aIdMap[NS_ooxml::LN_CT_LightRig_rot]                    = "rot";
+        aIdMap[NS_ooxml::LN_CT_Props3D_bevelT]                  = "bevelT";
+        aIdMap[NS_ooxml::LN_CT_Props3D_bevelB]                  = "bevelB";
+        aIdMap[NS_ooxml::LN_CT_Props3D_extrusionClr]            = "extrusionClr";
+        aIdMap[NS_ooxml::LN_CT_Props3D_contourClr]              = "contourClr";
     }
     return aIdMap[aId];
 }
@@ -398,6 +402,52 @@ OUString TextEffectsHandler::getLightRigDirectionString(sal_Int32 nType)
     return OUString();
 }
 
+OUString TextEffectsHandler::getBevelPresetTypeString(sal_Int32 nType)
+{
+    switch (nType)
+    {
+        case NS_ooxml::LN_ST_BevelPresetType_relaxedInset: return OUString("relaxedInset");
+        case NS_ooxml::LN_ST_BevelPresetType_circle: return OUString("circle");
+        case NS_ooxml::LN_ST_BevelPresetType_slope: return OUString("slope");
+        case NS_ooxml::LN_ST_BevelPresetType_cross: return OUString("cross");
+        case NS_ooxml::LN_ST_BevelPresetType_angle: return OUString("angle");
+        case NS_ooxml::LN_ST_BevelPresetType_softRound: return OUString("softRound");
+        case NS_ooxml::LN_ST_BevelPresetType_convex: return OUString("convex");
+        case NS_ooxml::LN_ST_BevelPresetType_coolSlant: return OUString("coolSlant");
+        case NS_ooxml::LN_ST_BevelPresetType_divot: return OUString("divot");
+        case NS_ooxml::LN_ST_BevelPresetType_riblet: return OUString("riblet");
+        case NS_ooxml::LN_ST_BevelPresetType_hardEdge: return OUString("hardEdge");
+        case NS_ooxml::LN_ST_BevelPresetType_artDeco: return OUString("artDeco");
+        default: break;
+    }
+    return OUString();
+}
+
+OUString TextEffectsHandler::getPresetMaterialTypeString(sal_Int32 nType)
+{
+    switch (nType)
+    {
+        case NS_ooxml::LN_ST_PresetMaterialType_legacyMatte: return OUString("legacyMatte");
+        case NS_ooxml::LN_ST_PresetMaterialType_legacyPlastic: return OUString("legacyPlastic");
+        case NS_ooxml::LN_ST_PresetMaterialType_legacyMetal: return OUString("legacyMetal");
+        case NS_ooxml::LN_ST_PresetMaterialType_legacyWireframe: return OUString("legacyWireframe");
+        case NS_ooxml::LN_ST_PresetMaterialType_matte: return OUString("matte");
+        case NS_ooxml::LN_ST_PresetMaterialType_plastic: return OUString("plastic");
+        case NS_ooxml::LN_ST_PresetMaterialType_metal: return OUString("metal");
+        case NS_ooxml::LN_ST_PresetMaterialType_warmMatte: return OUString("warmMatte");
+        case NS_ooxml::LN_ST_PresetMaterialType_translucentPowder: return OUString("translucentPowder");
+        case NS_ooxml::LN_ST_PresetMaterialType_powder: return OUString("powder");
+        case NS_ooxml::LN_ST_PresetMaterialType_dkEdge: return OUString("dkEdge");
+        case NS_ooxml::LN_ST_PresetMaterialType_softEdge: return OUString("softEdge");
+        case NS_ooxml::LN_ST_PresetMaterialType_clear: return OUString("clear");
+        case NS_ooxml::LN_ST_PresetMaterialType_flat: return OUString("flat");
+        case NS_ooxml::LN_ST_PresetMaterialType_softmetal: return OUString("softmetal");
+        case NS_ooxml::LN_ST_PresetMaterialType_none: return OUString("none");
+        default: break;
+    }
+    return OUString();
+}
+
 void TextEffectsHandler::convertElementIdToPropertyId(sal_Int32 aElementId)
 {
     switch(aElementId)
@@ -427,6 +477,9 @@ void TextEffectsHandler::convertElementIdToPropertyId(sal_Int32 aElementId)
             maElementName = "scene3d";
             break;
         case NS_ooxml::LN_props3d_props3d:
+            maPropertyId = PROP_CHAR_PROPS3D_TEXT_EFFECT;
+            maElementName = "props3d";
+            break;
         case NS_ooxml::LN_ligatures_ligatures:
         case NS_ooxml::LN_numForm_numForm:
         case NS_ooxml::LN_numSpacing_numSpacing:
@@ -621,7 +674,30 @@ void TextEffectsHandler::lcl_attribute(Id aName, Value& aValue)
         case NS_ooxml::LN_CT_SphereCoords_rev:
             mpGrabBagStack->addInt32("rev", sal_Int32(aValue.getInt()));
             break;
-
+        case NS_ooxml::LN_CT_Props3D_extrusionH:
+            mpGrabBagStack->addInt32("extrusionH", sal_Int32(aValue.getInt()));
+            break;
+        case NS_ooxml::LN_CT_Props3D_contourW:
+            mpGrabBagStack->addInt32("contourW", sal_Int32(aValue.getInt()));
+            break;
+        case NS_ooxml::LN_CT_Props3D_prstMaterial:
+            {
+                uno::Any aAny = makeAny(getPresetMaterialTypeString(sal_Int32(aValue.getInt())));
+                mpGrabBagStack->appendElement("prstMaterial", aAny);
+            }
+            break;
+        case NS_ooxml::LN_CT_Bevel_w:
+            mpGrabBagStack->addInt32("w", sal_Int32(aValue.getInt()));
+            break;
+        case NS_ooxml::LN_CT_Bevel_h:
+            mpGrabBagStack->addInt32("h", sal_Int32(aValue.getInt()));
+            break;
+        case NS_ooxml::LN_CT_Bevel_prst:
+            {
+                uno::Any aAny = makeAny(getBevelPresetTypeString(sal_Int32(aValue.getInt())));
+                mpGrabBagStack->appendElement("prst", aAny);
+            }
+            break;
         default:
             break;
     }
diff --git a/writerfilter/source/dmapper/TextEffectsHandler.hxx b/writerfilter/source/dmapper/TextEffectsHandler.hxx
index 898aaf1..31c2daa 100644
--- a/writerfilter/source/dmapper/TextEffectsHandler.hxx
+++ b/writerfilter/source/dmapper/TextEffectsHandler.hxx
@@ -62,6 +62,9 @@ public:
     static OUString getPresetCameraTypeString(sal_Int32 nType);
     static OUString getLightRigTypeString(sal_Int32 nType);
     static OUString getLightRigDirectionString(sal_Int32 nType);
+    static OUString getBevelPresetTypeString(sal_Int32 nType);
+    static OUString getPresetMaterialTypeString(sal_Int32 nType);
+
 };
 
 typedef boost::shared_ptr<TextEffectsHandler> TextEffectsHandlerPtr;
commit aedf140ee402c4985ab50ea0ab667ce8071f866e
Author: Tomaž Vajngerl <tomaz.vajngerl at collabora.com>
Date:   Wed Feb 26 16:52:19 2014 +0100

    writerfilter: w14:props3d update in model.xml
    
    Change-Id: I3c29f97f319656ddbf5c44654ae9820468b9926b

diff --git a/writerfilter/source/ooxml/model.xml b/writerfilter/source/ooxml/model.xml
index 30aca37..8010d4e 100644
--- a/writerfilter/source/ooxml/model.xml
+++ b/writerfilter/source/ooxml/model.xml
@@ -5524,6 +5524,46 @@
           </choice>
         </list>
       </define>
+      <define name="ST_BevelPresetType">
+        <list>
+          <choice>
+            <value>relaxedInset</value>
+            <value>circle</value>
+            <value>slope</value>
+            <value>cross</value>
+            <value>angle</value>
+            <value>softRound</value>
+            <value>convex</value>
+            <value>coolSlant</value>
+            <value>divot</value>
+            <value>riblet</value>
+            <value>hardEdge</value>
+            <value>artDeco</value>
+          </choice>
+        </list>
+      </define>
+      <define name="ST_PresetMaterialType">
+        <list>
+          <choice>
+            <value>legacyMatte</value>
+            <value>legacyPlastic</value>
+            <value>legacyMetal</value>
+            <value>legacyWireframe</value>
+            <value>matte</value>
+            <value>plastic</value>
+            <value>metal</value>
+            <value>warmMatte</value>
+            <value>translucentPowder</value>
+            <value>powder</value>
+            <value>dkEdge</value>
+            <value>softEdge</value>
+            <value>clear</value>
+            <value>flat</value>
+            <value>softmetal</value>
+            <value>none</value>
+          </choice>
+        </list>
+      </define>
 
       <define name="ST_PositiveCoordinate">
         <data type="long">
@@ -5861,6 +5901,26 @@
           <ref name="ST_PositiveFixedAngle"/>
         </attribute>
       </define>
+      <define name="CT_Bevel">
+        <optional>
+          <attribute name="w">
+            <ref name="ST_PositiveCoordinate"/>
+          </attribute>
+        </optional>
+        <optional>
+          <attribute name="h">
+            <ref name="ST_PositiveCoordinate"/>
+          </attribute>
+        </optional>
+        <optional>
+          <attribute name="prst">
+            <ref name="ST_BevelPresetType"/>
+          </attribute>
+        </optional>
+      </define>
+      <define name="CT_Color">
+        <ref name="EG_ColorChoice"/>
+      </define>
 
       <!-- Main Elements-->
       <define name="CT_Glow">
@@ -6027,6 +6087,35 @@
           <ref name="CT_LightRig"/>
         </element>
       </define>
+      <define name="CT_Props3D">
+        <element name="bevelT">
+          <ref name="CT_Bevel"/>
+        </element>
+        <element name="bevelB">
+          <ref name="CT_Bevel"/>
+        </element>
+        <element name="extrusionClr">
+          <ref name="CT_Color"/>
+        </element>
+        <element name="contourClr">
+          <ref name="CT_Color"/>
+        </element>
+        <optional>
+          <attribute name="extrusionH">
+            <ref name="ST_PositiveCoordinate"/>
+          </attribute>
+        </optional>
+        <optional>
+          <attribute name="contourW">
+            <ref name="ST_PositiveCoordinate"/>
+          </attribute>
+        </optional>
+        <optional>
+          <attribute name="prstMaterial">
+            <ref name="ST_PresetMaterialType"/>
+          </attribute>
+        </optional>
+      </define>
 
       <define name="glow">
         <element name="glow">
@@ -6060,7 +6149,7 @@
       </define>
       <define name="props3d">
         <element name="props3d">
-          <empty/>
+          <ref name="CT_Props3D"/>
         </element>
       </define>
       <define name="ligatures">
@@ -6259,6 +6348,38 @@
       <value name="b" tokenid="ooxml:ST_LightRigDirection_b">b</value>
       <value name="br" tokenid="ooxml:ST_LightRigDirection_br">br</value>
     </resource>
+    <resource name="ST_BevelPresetType" resource="List" generated="yes">
+      <value name="relaxedInset" tokenid="ooxml:ST_BevelPresetType_relaxedInset">relaxedInset</value>
+      <value name="circle" tokenid="ooxml:ST_BevelPresetType_circle">circle</value>
+      <value name="slope" tokenid="ooxml:ST_BevelPresetType_slope">slope</value>
+      <value name="cross" tokenid="ooxml:ST_BevelPresetType_cross">cross</value>
+      <value name="angle" tokenid="ooxml:ST_BevelPresetType_angle">angle</value>
+      <value name="softRound" tokenid="ooxml:ST_BevelPresetType_softRound">softRound</value>
+      <value name="convex" tokenid="ooxml:ST_BevelPresetType_convex">convex</value>
+      <value name="coolSlant" tokenid="ooxml:ST_BevelPresetType_coolSlant">coolSlant</value>
+      <value name="divot" tokenid="ooxml:ST_BevelPresetType_divot">divot</value>
+      <value name="riblet" tokenid="ooxml:ST_BevelPresetType_riblet">riblet</value>
+      <value name="hardEdge" tokenid="ooxml:ST_BevelPresetType_hardEdge">hardEdge</value>
+      <value name="artDeco" tokenid="ooxml:ST_BevelPresetType_artDeco">artDeco</value>
+    </resource>
+    <resource name="ST_PresetMaterialType" resource="List" generated="yes">
+      <value name="legacyMatte" tokenid="ooxml:ST_PresetMaterialType_legacyMatte">legacyMatte</value>
+      <value name="legacyPlastic" tokenid="ooxml:ST_PresetMaterialType_legacyPlastic">legacyPlastic</value>
+      <value name="legacyMetal" tokenid="ooxml:ST_PresetMaterialType_legacyMetal">legacyMetal</value>
+      <value name="legacyWireframe" tokenid="ooxml:ST_PresetMaterialType_legacyWireframe">legacyWireframe</value>
+      <value name="matte" tokenid="ooxml:ST_PresetMaterialType_matte">matte</value>
+      <value name="plastic" tokenid="ooxml:ST_PresetMaterialType_plastic">plastic</value>
+      <value name="metal" tokenid="ooxml:ST_PresetMaterialType_metal">metal</value>
+      <value name="warmMatte" tokenid="ooxml:ST_PresetMaterialType_warmMatte">warmMatte</value>
+      <value name="translucentPowder" tokenid="ooxml:ST_PresetMaterialType_translucentPowder">translucentPowder</value>
+      <value name="powder" tokenid="ooxml:ST_PresetMaterialType_powder">powder</value>
+      <value name="dkEdge" tokenid="ooxml:ST_PresetMaterialType_dkEdge">dkEdge</value>
+      <value name="softEdge" tokenid="ooxml:ST_PresetMaterialType_softEdge">softEdge</value>
+      <value name="clear" tokenid="ooxml:ST_PresetMaterialType_clear">clear</value>
+      <value name="flat" tokenid="ooxml:ST_PresetMaterialType_flat">flat</value>
+      <value name="softmetal" tokenid="ooxml:ST_PresetMaterialType_softmetal">softmetal</value>
+      <value name="none" tokenid="ooxml:ST_PresetMaterialType_none">none</value>
+    </resource>
 
     <resource name="ST_PositiveCoordinate" resource="Integer" generated="yes"/>
     <resource name="ST_HexColorRGB" resource="Hex"/>
@@ -6367,7 +6488,14 @@
       <attribute name="lon" tokenid="ooxml:CT_SphereCoords_lon"/>
       <attribute name="rev" tokenid="ooxml:CT_SphereCoords_rev"/>
     </resource>
+    <resource name="CT_Bevel" resource="Properties" tag="character">
+      <attribute name="w" tokenid="ooxml:CT_Bevel_w"/>
+      <attribute name="h" tokenid="ooxml:CT_Bevel_h"/>
+      <attribute name="prst" tokenid="ooxml:CT_Bevel_prst"/>
+    </resource>
+    <resource name="CT_Color" resource="Properties" tag="character"/>
 
+    <!-- Main element content -->
     <resource name="CT_Shadow" resource="Properties" tag="character">
       <attribute name="blurRad" tokenid="ooxml:CT_Shadow_blurRad"/>
       <attribute name="dist" tokenid="ooxml:CT_Shadow_dist"/>
@@ -6404,6 +6532,15 @@
       <element name="camera" tokenid="ooxml:CT_Scene3D_camera"/>
       <element name="lightRig" tokenid="ooxml:CT_Scene3D_lightRig"/>
     </resource>
+    <resource name="CT_Props3D" resource="Properties" tag="character">
+      <element name="bevelT" tokenid="ooxml:CT_Props3D_bevelT"/>
+      <element name="bevelB" tokenid="ooxml:CT_Props3D_bevelB"/>
+      <element name="extrusionClr" tokenid="ooxml:CT_Props3D_extrusionClr"/>
+      <element name="contourClr" tokenid="ooxml:CT_Props3D_contourClr"/>
+      <attribute name="extrusionH" tokenid="ooxml:CT_Props3D_extrusionH"/>
+      <attribute name="contourW" tokenid="ooxml:CT_Props3D_contourW"/>
+      <attribute name="prstMaterial" tokenid="ooxml:CT_Props3D_prstMaterial"/>
+    </resource>
 
     <resource name="glow" resource="Properties" tag="character">
       <element name="glow" tokenid="ooxml:glow_glow"/>
@@ -18104,12 +18241,12 @@
             <ref name="BUILT_IN_ANY_TYPE"/>
           </element>
         </optional>
-        <!--<optional>
+        <optional>
           <element name="w14:props3d">
             <ref name="BUILT_IN_ANY_TYPE"/>
           </element>
         </optional>
-        <optional>
+        <!--<optional>
           <element name="w14:ligatures">
             <ref name="BUILT_IN_ANY_TYPE"/>
           </element>
@@ -24107,8 +24244,8 @@
       <element name="w14:textOutline" tokenid="ooxml:EG_RPrBase_w14_textOutline"/>
       <element name="w14:textFill" tokenid="ooxml:EG_RPrBase_w14_textFill"/>
       <element name="w14:scene3d" tokenid="ooxml:EG_RPrBase_w14_scene3d"/>
-      <!--<element name="w14:props3d" tokenid="ooxml:EG_RPrBase_w14_props3d"/>
-      <element name="w14:ligatures" tokenid="ooxml:EG_RPrBase_w14_ligatures"/>
+      <element name="w14:props3d" tokenid="ooxml:EG_RPrBase_w14_props3d"/>
+      <!--<element name="w14:ligatures" tokenid="ooxml:EG_RPrBase_w14_ligatures"/>
       <element name="w14:numForm" tokenid="ooxml:EG_RPrBase_w14_numForm"/>
       <element name="w14:numSpacing" tokenid="ooxml:EG_RPrBase_w14_numSpacing"/>
       <element name="w14:stylisticSets" tokenid="ooxml:EG_RPrBase_w14_stylisticSets"/>
commit d42c34304c39700c559abba65f734ee0bcc22939
Author: Tomaž Vajngerl <tomaz.vajngerl at collabora.com>
Date:   Wed Feb 26 14:57:57 2014 +0100

    ooxml export: w14:scene3d element
    
    Change-Id: Iaf1745e9d415d14e310adc75199321cfe27966a3

diff --git a/sw/source/filter/ww8/docxattributeoutput.cxx b/sw/source/filter/ww8/docxattributeoutput.cxx
index c9f277c..9696920 100644
--- a/sw/source/filter/ww8/docxattributeoutput.cxx
+++ b/sw/source/filter/ww8/docxattributeoutput.cxx
@@ -1233,6 +1233,11 @@ const NameToId constNameToIdMapping[] =
     { OUString("r"),            FSNS( XML_w14, XML_r ) },
     { OUString("b"),            FSNS( XML_w14, XML_b ) },
     { OUString("lim"),          FSNS( XML_w14, XML_lim ) },
+    { OUString("prst"),         FSNS( XML_w14, XML_prst ) },
+    { OUString("rig"),          FSNS( XML_w14, XML_rig ) },
+    { OUString("lat"),          FSNS( XML_w14, XML_lat ) },
+    { OUString("lon"),          FSNS( XML_w14, XML_lon ) },
+    { OUString("rev"),          FSNS( XML_w14, XML_rev ) },
 
     { OUString("schemeClr"),    FSNS( XML_w14, XML_schemeClr ) },
     { OUString("srgbClr"),      FSNS( XML_w14, XML_srgbClr ) },
@@ -1259,6 +1264,9 @@ const NameToId constNameToIdMapping[] =
     { OUString("round"),        FSNS( XML_w14, XML_round ) },
     { OUString("bevel"),        FSNS( XML_w14, XML_bevel ) },
     { OUString("miter"),        FSNS( XML_w14, XML_miter ) },
+    { OUString("camera"),       FSNS( XML_w14, XML_camera ) },
+    { OUString("lightRig"),     FSNS( XML_w14, XML_lightRig ) },
+    { OUString("rot"),          FSNS( XML_w14, XML_rot ) },
 };
 
 boost::optional<sal_Int32> lclGetElementIdForName(const OUString& rName)
commit 81709ebaf5fb3c49135a7bbe272430daa57c31c3
Author: Tomaž Vajngerl <tomaz.vajngerl at collabora.com>
Date:   Wed Feb 26 14:55:43 2014 +0100

    writerfilter: put w14:scene3d elements/attributes into a GrabBag
    
    Change-Id: I9681e6a5dd96877ea87376b449242a2317a7d6b1

diff --git a/writerfilter/source/dmapper/TextEffectsHandler.cxx b/writerfilter/source/dmapper/TextEffectsHandler.cxx
index 81a5c67..fb6d308 100644
--- a/writerfilter/source/dmapper/TextEffectsHandler.cxx
+++ b/writerfilter/source/dmapper/TextEffectsHandler.cxx
@@ -141,6 +141,9 @@ OUString getNameForElementId(sal_uInt32 aId)
         aIdMap[NS_ooxml::LN_EG_LineJoinProperties_round]        = "round";
         aIdMap[NS_ooxml::LN_EG_LineJoinProperties_bevel]        = "bevel";
         aIdMap[NS_ooxml::LN_EG_LineJoinProperties_miter]        = "miter";
+        aIdMap[NS_ooxml::LN_CT_Scene3D_camera]                  = "camera";
+        aIdMap[NS_ooxml::LN_CT_Scene3D_lightRig]                = "lightRig";
+        aIdMap[NS_ooxml::LN_CT_LightRig_rot]                    = "rot";
     }
     return aIdMap[aId];
 }
@@ -269,6 +272,132 @@ OUString TextEffectsHandler::getPresetLineDashValString(sal_Int32 nType)
     return OUString();
 }
 
+OUString TextEffectsHandler::getPresetCameraTypeString(sal_Int32 nType)
+{
+    switch (nType)
+    {
+        case NS_ooxml::LN_ST_PresetCameraType_legacyObliqueTopLeft: return OUString("legacyObliqueTopLeft");
+        case NS_ooxml::LN_ST_PresetCameraType_legacyObliqueTop: return OUString("legacyObliqueTop");
+        case NS_ooxml::LN_ST_PresetCameraType_legacyObliqueTopRight: return OUString("legacyObliqueTopRight");
+        case NS_ooxml::LN_ST_PresetCameraType_legacyObliqueLeft: return OUString("legacyObliqueLeft");
+        case NS_ooxml::LN_ST_PresetCameraType_legacyObliqueFront: return OUString("legacyObliqueFront");
+        case NS_ooxml::LN_ST_PresetCameraType_legacyObliqueRight: return OUString("legacyObliqueRight");
+        case NS_ooxml::LN_ST_PresetCameraType_legacyObliqueBottomLeft: return OUString("legacyObliqueBottomLeft");
+        case NS_ooxml::LN_ST_PresetCameraType_legacyObliqueBottom: return OUString("legacyObliqueBottom");
+        case NS_ooxml::LN_ST_PresetCameraType_legacyObliqueBottomRight: return OUString("legacyObliqueBottomRight");
+        case NS_ooxml::LN_ST_PresetCameraType_legacyPerspectiveTopLeft: return OUString("legacyPerspectiveTopLeft");
+        case NS_ooxml::LN_ST_PresetCameraType_legacyPerspectiveTop: return OUString("legacyPerspectiveTop");
+        case NS_ooxml::LN_ST_PresetCameraType_legacyPerspectiveTopRight: return OUString("legacyPerspectiveTopRight");
+        case NS_ooxml::LN_ST_PresetCameraType_legacyPerspectiveLeft: return OUString("legacyPerspectiveLeft");
+        case NS_ooxml::LN_ST_PresetCameraType_legacyPerspectiveFront: return OUString("legacyPerspectiveFront");
+        case NS_ooxml::LN_ST_PresetCameraType_legacyPerspectiveRight: return OUString("legacyPerspectiveRight");
+        case NS_ooxml::LN_ST_PresetCameraType_legacyPerspectiveBottomLeft: return OUString("legacyPerspectiveBottomLeft");
+        case NS_ooxml::LN_ST_PresetCameraType_legacyPerspectiveBottom: return OUString("legacyPerspectiveBottom");
+        case NS_ooxml::LN_ST_PresetCameraType_legacyPerspectiveBottomRight: return OUString("legacyPerspectiveBottomRight");
+        case NS_ooxml::LN_ST_PresetCameraType_orthographicFront: return OUString("orthographicFront");
+        case NS_ooxml::LN_ST_PresetCameraType_isometricTopUp: return OUString("isometricTopUp");
+        case NS_ooxml::LN_ST_PresetCameraType_isometricTopDown: return OUString("isometricTopDown");
+        case NS_ooxml::LN_ST_PresetCameraType_isometricBottomUp: return OUString("isometricBottomUp");
+        case NS_ooxml::LN_ST_PresetCameraType_isometricBottomDown: return OUString("isometricBottomDown");
+        case NS_ooxml::LN_ST_PresetCameraType_isometricLeftUp: return OUString("isometricLeftUp");
+        case NS_ooxml::LN_ST_PresetCameraType_isometricLeftDown: return OUString("isometricLeftDown");
+        case NS_ooxml::LN_ST_PresetCameraType_isometricRightUp: return OUString("isometricRightUp");
+        case NS_ooxml::LN_ST_PresetCameraType_isometricRightDown: return OUString("isometricRightDown");
+        case NS_ooxml::LN_ST_PresetCameraType_isometricOffAxis1Left: return OUString("isometricOffAxis1Left");
+        case NS_ooxml::LN_ST_PresetCameraType_isometricOffAxis1Right: return OUString("isometricOffAxis1Right");
+        case NS_ooxml::LN_ST_PresetCameraType_isometricOffAxis1Top: return OUString("isometricOffAxis1Top");
+        case NS_ooxml::LN_ST_PresetCameraType_isometricOffAxis2Left: return OUString("isometricOffAxis2Left");
+        case NS_ooxml::LN_ST_PresetCameraType_isometricOffAxis2Right: return OUString("isometricOffAxis2Right");
+        case NS_ooxml::LN_ST_PresetCameraType_isometricOffAxis2Top: return OUString("isometricOffAxis2Top");
+        case NS_ooxml::LN_ST_PresetCameraType_isometricOffAxis3Left: return OUString("isometricOffAxis3Left");
+        case NS_ooxml::LN_ST_PresetCameraType_isometricOffAxis3Right: return OUString("isometricOffAxis3Right");
+        case NS_ooxml::LN_ST_PresetCameraType_isometricOffAxis3Bottom: return OUString("isometricOffAxis3Bottom");
+        case NS_ooxml::LN_ST_PresetCameraType_isometricOffAxis4Left: return OUString("isometricOffAxis4Left");
+        case NS_ooxml::LN_ST_PresetCameraType_isometricOffAxis4Right: return OUString("isometricOffAxis4Right");
+        case NS_ooxml::LN_ST_PresetCameraType_isometricOffAxis4Bottom: return OUString("isometricOffAxis4Bottom");
+        case NS_ooxml::LN_ST_PresetCameraType_obliqueTopLeft: return OUString("obliqueTopLeft");
+        case NS_ooxml::LN_ST_PresetCameraType_obliqueTop: return OUString("obliqueTop");
+        case NS_ooxml::LN_ST_PresetCameraType_obliqueTopRight: return OUString("obliqueTopRight");
+        case NS_ooxml::LN_ST_PresetCameraType_obliqueLeft: return OUString("obliqueLeft");
+        case NS_ooxml::LN_ST_PresetCameraType_obliqueRight: return OUString("obliqueRight");
+        case NS_ooxml::LN_ST_PresetCameraType_obliqueBottomLeft: return OUString("obliqueBottomLeft");
+        case NS_ooxml::LN_ST_PresetCameraType_obliqueBottom: return OUString("obliqueBottom");
+        case NS_ooxml::LN_ST_PresetCameraType_obliqueBottomRight: return OUString("obliqueBottomRight");
+        case NS_ooxml::LN_ST_PresetCameraType_perspectiveFront: return OUString("perspectiveFront");
+        case NS_ooxml::LN_ST_PresetCameraType_perspectiveLeft: return OUString("perspectiveLeft");
+        case NS_ooxml::LN_ST_PresetCameraType_perspectiveRight: return OUString("perspectiveRight");
+        case NS_ooxml::LN_ST_PresetCameraType_perspectiveAbove: return OUString("perspectiveAbove");
+        case NS_ooxml::LN_ST_PresetCameraType_perspectiveBelow: return OUString("perspectiveBelow");
+        case NS_ooxml::LN_ST_PresetCameraType_perspectiveAboveLeftFacing: return OUString("perspectiveAboveLeftFacing");
+        case NS_ooxml::LN_ST_PresetCameraType_perspectiveAboveRightFacing: return OUString("perspectiveAboveRightFacing");
+        case NS_ooxml::LN_ST_PresetCameraType_perspectiveContrastingLeftFacing: return OUString("perspectiveContrastingLeftFacing");
+        case NS_ooxml::LN_ST_PresetCameraType_perspectiveContrastingRightFacing: return OUString("perspectiveContrastingRightFacing");
+        case NS_ooxml::LN_ST_PresetCameraType_perspectiveHeroicLeftFacing: return OUString("perspectiveHeroicLeftFacing");
+        case NS_ooxml::LN_ST_PresetCameraType_perspectiveHeroicRightFacing: return OUString("perspectiveHeroicRightFacing");
+        case NS_ooxml::LN_ST_PresetCameraType_perspectiveHeroicExtremeLeftFacing: return OUString("perspectiveHeroicExtremeLeftFacing");
+        case NS_ooxml::LN_ST_PresetCameraType_perspectiveHeroicExtremeRightFacing: return OUString("perspectiveHeroicExtremeRightFacing");
+        case NS_ooxml::LN_ST_PresetCameraType_perspectiveRelaxed: return OUString("perspectiveRelaxed");
+        case NS_ooxml::LN_ST_PresetCameraType_perspectiveRelaxedModerately: return OUString("perspectiveRelaxedModerately");
+        default: break;
+    }
+    return OUString();
+}
+
+
+OUString TextEffectsHandler::getLightRigTypeString(sal_Int32 nType)
+{
+    switch (nType)
+    {
+        case NS_ooxml::LN_ST_LightRigType_legacyFlat1: return OUString("legacyFlat1");
+        case NS_ooxml::LN_ST_LightRigType_legacyFlat2: return OUString("legacyFlat2");
+        case NS_ooxml::LN_ST_LightRigType_legacyFlat3: return OUString("legacyFlat3");
+        case NS_ooxml::LN_ST_LightRigType_legacyFlat4: return OUString("legacyFlat4");
+        case NS_ooxml::LN_ST_LightRigType_legacyNormal1: return OUString("legacyNormal1");
+        case NS_ooxml::LN_ST_LightRigType_legacyNormal2: return OUString("legacyNormal2");
+        case NS_ooxml::LN_ST_LightRigType_legacyNormal3: return OUString("legacyNormal3");
+        case NS_ooxml::LN_ST_LightRigType_legacyNormal4: return OUString("legacyNormal4");
+        case NS_ooxml::LN_ST_LightRigType_legacyHarsh1: return OUString("legacyHarsh1");
+        case NS_ooxml::LN_ST_LightRigType_legacyHarsh2: return OUString("legacyHarsh2");
+        case NS_ooxml::LN_ST_LightRigType_legacyHarsh3: return OUString("legacyHarsh3");
+        case NS_ooxml::LN_ST_LightRigType_legacyHarsh4: return OUString("legacyHarsh4");
+        case NS_ooxml::LN_ST_LightRigType_threePt: return OUString("threePt");
+        case NS_ooxml::LN_ST_LightRigType_balanced: return OUString("balanced");
+        case NS_ooxml::LN_ST_LightRigType_soft: return OUString("soft");
+        case NS_ooxml::LN_ST_LightRigType_harsh: return OUString("harsh");
+        case NS_ooxml::LN_ST_LightRigType_flood: return OUString("flood");
+        case NS_ooxml::LN_ST_LightRigType_contrasting: return OUString("contrasting");
+        case NS_ooxml::LN_ST_LightRigType_morning: return OUString("morning");
+        case NS_ooxml::LN_ST_LightRigType_sunrise: return OUString("sunrise");
+        case NS_ooxml::LN_ST_LightRigType_sunset: return OUString("sunset");
+        case NS_ooxml::LN_ST_LightRigType_chilly: return OUString("chilly");
+        case NS_ooxml::LN_ST_LightRigType_freezing: return OUString("freezing");
+        case NS_ooxml::LN_ST_LightRigType_flat: return OUString("flat");
+        case NS_ooxml::LN_ST_LightRigType_twoPt: return OUString("twoPt");
+        case NS_ooxml::LN_ST_LightRigType_glow: return OUString("glow");
+        case NS_ooxml::LN_ST_LightRigType_brightRoom: return OUString("brightRoom");
+        default: break;
+    }
+    return OUString();
+}
+
+OUString TextEffectsHandler::getLightRigDirectionString(sal_Int32 nType)
+{
+    switch (nType)
+    {
+        case NS_ooxml::LN_ST_LightRigDirection_tl: return OUString("tl");
+        case NS_ooxml::LN_ST_LightRigDirection_t: return OUString("t");
+        case NS_ooxml::LN_ST_LightRigDirection_tr: return OUString("tr");
+        case NS_ooxml::LN_ST_LightRigDirection_l: return OUString("l");
+        case NS_ooxml::LN_ST_LightRigDirection_r: return OUString("r");
+        case NS_ooxml::LN_ST_LightRigDirection_bl: return OUString("bl");
+        case NS_ooxml::LN_ST_LightRigDirection_b: return OUString("b");
+        case NS_ooxml::LN_ST_LightRigDirection_br: return OUString("br");
+
+        default: break;
+    }
+    return OUString();
+}
+
 void TextEffectsHandler::convertElementIdToPropertyId(sal_Int32 aElementId)
 {
     switch(aElementId)
@@ -294,6 +423,9 @@ void TextEffectsHandler::convertElementIdToPropertyId(sal_Int32 aElementId)
             maElementName = "textFill";
             break;
         case NS_ooxml::LN_scene3d_scene3d:
+            maPropertyId = PROP_CHAR_SCENE3D_TEXT_EFFECT;
+            maElementName = "scene3d";
+            break;
         case NS_ooxml::LN_props3d_props3d:
         case NS_ooxml::LN_ligatures_ligatures:
         case NS_ooxml::LN_numForm_numForm:
@@ -462,6 +594,34 @@ void TextEffectsHandler::lcl_attribute(Id aName, Value& aValue)
         case NS_ooxml::LN_CT_LineJoinMiterProperties_lim:
             mpGrabBagStack->addInt32("lim", sal_Int32(aValue.getInt()));
             break;
+        case NS_ooxml::LN_CT_Camera_prst:
+            {
+                uno::Any aAny = makeAny(getPresetCameraTypeString(sal_Int32(aValue.getInt())));
+                mpGrabBagStack->appendElement("prst", aAny);
+            }
+            break;
+        case NS_ooxml::LN_CT_LightRig_rig:
+            {
+                uno::Any aAny = makeAny(getLightRigTypeString(sal_Int32(aValue.getInt())));
+                mpGrabBagStack->appendElement("rig", aAny);
+            }
+            break;
+        case NS_ooxml::LN_CT_LightRig_dir:
+            {
+                uno::Any aAny = makeAny(getLightRigDirectionString(sal_Int32(aValue.getInt())));
+                mpGrabBagStack->appendElement("dir", aAny);
+            }
+            break;
+        case NS_ooxml::LN_CT_SphereCoords_lat:
+            mpGrabBagStack->addInt32("lat", sal_Int32(aValue.getInt()));
+            break;
+        case NS_ooxml::LN_CT_SphereCoords_lon:
+            mpGrabBagStack->addInt32("lon", sal_Int32(aValue.getInt()));
+            break;
+        case NS_ooxml::LN_CT_SphereCoords_rev:
+            mpGrabBagStack->addInt32("rev", sal_Int32(aValue.getInt()));
+            break;
+
         default:
             break;
     }
diff --git a/writerfilter/source/dmapper/TextEffectsHandler.hxx b/writerfilter/source/dmapper/TextEffectsHandler.hxx
index 3a8fb50..898aaf1 100644
--- a/writerfilter/source/dmapper/TextEffectsHandler.hxx
+++ b/writerfilter/source/dmapper/TextEffectsHandler.hxx
@@ -59,6 +59,9 @@ public:
     static OUString getOnOffString(sal_Int32 nType);
     static OUString getPathShadeTypeString(sal_Int32 nType);
     static OUString getPresetLineDashValString(sal_Int32 nType);
+    static OUString getPresetCameraTypeString(sal_Int32 nType);
+    static OUString getLightRigTypeString(sal_Int32 nType);
+    static OUString getLightRigDirectionString(sal_Int32 nType);
 };
 
 typedef boost::shared_ptr<TextEffectsHandler> TextEffectsHandlerPtr;
commit bc5a8d1adf3a4c88010d0472dfe1c6564ebb05bd
Author: Tomaž Vajngerl <tomaz.vajngerl at collabora.com>
Date:   Wed Feb 26 14:54:21 2014 +0100

    writerfilter: w14:scene3d update in model.xml
    
    Change-Id: Ic0b5e28bfb39bfd03a11b0e0c8b3892a3acc4a91

diff --git a/writerfilter/source/ooxml/model.xml b/writerfilter/source/ooxml/model.xml
index 3dab83d..30aca37 100644
--- a/writerfilter/source/ooxml/model.xml
+++ b/writerfilter/source/ooxml/model.xml
@@ -5532,14 +5532,12 @@
           <param name="maxInclusive">27273042316900</param>
         </data>
       </define>
-
       <define name="ST_HexColorRGB">
         <data type="hexBinary">
           <xs:documentation>Hexadecimal Color Value</xs:documentation>
           <param name="length">3</param>
         </data>
       </define>
-
       <define name="ST_PositiveFixedPercentage">
         <data type="long">
           <xs:documentation>Positive fixed precentage</xs:documentation>
@@ -5547,7 +5545,6 @@
           <param name="maxInclusive">27273042316900</param>
         </data>
       </define>
-
       <define name="ST_PositivePercentage">
         <data type="long">
           <xs:documentation>Positive precentage</xs:documentation>
@@ -5555,7 +5552,6 @@
           <param name="maxInclusive">27273042316900</param>
         </data>
       </define>
-
       <define name="ST_Percentage">
         <data type="long">
           <xs:documentation>Precentage</xs:documentation>
@@ -5563,7 +5559,6 @@
           <param name="maxInclusive">27273042316900</param>
         </data>
       </define>
-
       <define name="ST_PositiveFixedAngle">
         <data type="int">
           <xs:documentation>Positive fixed angle</xs:documentation>
@@ -5571,7 +5566,6 @@
           <param name="maxInclusive">21600000</param>
         </data>
       </define>
-
       <define name="ST_FixedAngle">
         <data type="int">
           <xs:documentation>Fixed angle</xs:documentation>
@@ -5579,7 +5573,6 @@
           <param name="maxInclusive">5400000</param>
         </data>
       </define>
-
       <define name="ST_LineWidth">
         <data type="int">
           <xs:documentation>Line width</xs:documentation>
@@ -6407,6 +6400,10 @@
       <attribute name="algn" tokenid="ooxml:CT_TextOutlineEffect_algn"/>
     </resource>
     <resource name="CT_FillTextEffect" resource="Properties" tag="character"/>
+    <resource name="CT_Scene3D" resource="Properties" tag="character">
+      <element name="camera" tokenid="ooxml:CT_Scene3D_camera"/>
+      <element name="lightRig" tokenid="ooxml:CT_Scene3D_lightRig"/>
+    </resource>
 
     <resource name="glow" resource="Properties" tag="character">
       <element name="glow" tokenid="ooxml:glow_glow"/>
commit a9e117cfb66eb8f57a09e74c6ddc1924f8273a59
Author: Tomaž Vajngerl <tomaz.vajngerl at collabora.com>
Date:   Wed Feb 26 12:58:33 2014 +0100

    ooxml: extend roundtrip test with w14:textFill
    
    Change-Id: I9d1a426b0972211f4b04145dd8e231162d3e5845

diff --git a/sw/qa/extras/ooxmlexport/data/TextEffects_TextFill.docx b/sw/qa/extras/ooxmlexport/data/TextEffects_TextFill.docx
new file mode 100644
index 0000000..383d0a0
Binary files /dev/null and b/sw/qa/extras/ooxmlexport/data/TextEffects_TextFill.docx differ
diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport.cxx b/sw/qa/extras/ooxmlexport/ooxmlexport.cxx
index 12e5992..fcc5a38 100644
--- a/sw/qa/extras/ooxmlexport/ooxmlexport.cxx
+++ b/sw/qa/extras/ooxmlexport/ooxmlexport.cxx
@@ -2757,6 +2757,45 @@ DECLARE_OOXMLEXPORT_TEST(testBibliography,"FDO75133.docx")
     CPPUNIT_ASSERT(contents.match(" BIBLIOGRAPHY "));
 }
 
+DECLARE_OOXMLEXPORT_TEST(testW14TextEffects_TextFill, "TextEffects_TextFill.docx")
+{
+    xmlDocPtr pXmlDoc = parseExport("word/document.xml");
+    if (!pXmlDoc)
+        return;
+    // Paragraph 1 has no textFill
+
+    // Paragraph 2
+    assertXPath(pXmlDoc, "/w:document/w:body/w:p[2]/w:r[1]/w:rPr/w14:textFill/w14:noFill", 1);
+
+    // Paragraph 3
+    assertXPath(pXmlDoc, "/w:document/w:body/w:p[3]/w:r[1]/w:rPr/w14:textFill/w14:solidFill", 1);
+    assertXPath(pXmlDoc, "/w:document/w:body/w:p[3]/w:r[1]/w:rPr/w14:textFill/w14:solidFill/w14:schemeClr", "val", "accent1");
+    assertXPath(pXmlDoc, "/w:document/w:body/w:p[3]/w:r[1]/w:rPr/w14:textFill/w14:solidFill/w14:schemeClr/w14:alpha", "val", "5000");
+    assertXPath(pXmlDoc, "/w:document/w:body/w:p[3]/w:r[1]/w:rPr/w14:textFill/w14:solidFill/w14:schemeClr/w14:lumMod", "val", "40000");
+    assertXPath(pXmlDoc, "/w:document/w:body/w:p[3]/w:r[1]/w:rPr/w14:textFill/w14:solidFill/w14:schemeClr/w14:lumOff", "val", "60000");
+
+    // Paragraph 4
+    assertXPath(pXmlDoc, "/w:document/w:body/w:p[4]/w:r[1]/w:rPr/w14:textFill/w14:gradFill", 1);
+    assertXPath(pXmlDoc, "/w:document/w:body/w:p[4]/w:r[1]/w:rPr/w14:textFill/w14:gradFill/w14:gsLst/w14:gs[1]", "pos", "0");
+    assertXPath(pXmlDoc, "/w:document/w:body/w:p[4]/w:r[1]/w:rPr/w14:textFill/w14:gradFill/w14:gsLst/w14:gs[1]/w14:schemeClr", "val", "accent1");
+    assertXPath(pXmlDoc, "/w:document/w:body/w:p[4]/w:r[1]/w:rPr/w14:textFill/w14:gradFill/w14:gsLst/w14:gs[1]/w14:schemeClr/w14:alpha", "val", "5000");
+    assertXPath(pXmlDoc, "/w:document/w:body/w:p[4]/w:r[1]/w:rPr/w14:textFill/w14:gradFill/w14:gsLst/w14:gs[1]/w14:schemeClr/w14:lumMod", "val", "67000");
+
+    assertXPath(pXmlDoc, "/w:document/w:body/w:p[4]/w:r[1]/w:rPr/w14:textFill/w14:gradFill/w14:gsLst/w14:gs[2]", "pos", "50000");
+    assertXPath(pXmlDoc, "/w:document/w:body/w:p[4]/w:r[1]/w:rPr/w14:textFill/w14:gradFill/w14:gsLst/w14:gs[2]/w14:srgbClr", "val", "00B0F0");
+    assertXPath(pXmlDoc, "/w:document/w:body/w:p[4]/w:r[1]/w:rPr/w14:textFill/w14:gradFill/w14:gsLst/w14:gs[2]/w14:srgbClr/w14:alpha", "val", "10000");
+    assertXPath(pXmlDoc, "/w:document/w:body/w:p[4]/w:r[1]/w:rPr/w14:textFill/w14:gradFill/w14:gsLst/w14:gs[2]/w14:srgbClr/w14:lumMod", "val", "80000");
+
+    assertXPath(pXmlDoc, "/w:document/w:body/w:p[4]/w:r[1]/w:rPr/w14:textFill/w14:gradFill/w14:gsLst/w14:gs[3]", "pos", "100000");
+    assertXPath(pXmlDoc, "/w:document/w:body/w:p[4]/w:r[1]/w:rPr/w14:textFill/w14:gradFill/w14:gsLst/w14:gs[3]/w14:schemeClr", "val", "accent1");
+    assertXPath(pXmlDoc, "/w:document/w:body/w:p[4]/w:r[1]/w:rPr/w14:textFill/w14:gradFill/w14:gsLst/w14:gs[3]/w14:schemeClr/w14:alpha", "val", "15000");
+    assertXPath(pXmlDoc, "/w:document/w:body/w:p[4]/w:r[1]/w:rPr/w14:textFill/w14:gradFill/w14:gsLst/w14:gs[3]/w14:schemeClr/w14:lumMod", "val", "60000");
+    assertXPath(pXmlDoc, "/w:document/w:body/w:p[4]/w:r[1]/w:rPr/w14:textFill/w14:gradFill/w14:gsLst/w14:gs[3]/w14:schemeClr/w14:lumOff", "val", "40000");
+
+    assertXPath(pXmlDoc, "/w:document/w:body/w:p[4]/w:r[1]/w:rPr/w14:textFill/w14:gradFill/w14:lin", "ang", "16200000");
+    assertXPath(pXmlDoc, "/w:document/w:body/w:p[4]/w:r[1]/w:rPr/w14:textFill/w14:gradFill/w14:lin", "scaled", "0");
+}
+
 #endif
 
 CPPUNIT_PLUGIN_IMPLEMENT();
commit 70ffc556ccf2fcff02e7c7250e2528243e6abff8
Author: Tomaž Vajngerl <tomaz.vajngerl at collabora.com>
Date:   Wed Feb 26 10:07:07 2014 +0100

    ooxml export: w14:textFill element
    
    Change-Id: Ie1e44215ce70c28c58575a703328a836279f92a4

diff --git a/sw/source/filter/ww8/docxattributeoutput.cxx b/sw/source/filter/ww8/docxattributeoutput.cxx
index 1b91a13..c9f277c 100644
--- a/sw/source/filter/ww8/docxattributeoutput.cxx
+++ b/sw/source/filter/ww8/docxattributeoutput.cxx
@@ -1174,6 +1174,8 @@ void DocxAttributeOutput::InitCollectedRunProperties()
         FSNS( XML_w14, XML_glow ),
         FSNS( XML_w14, XML_shadow ),
         FSNS( XML_w14, XML_reflection ),
+        FSNS( XML_w14, XML_textOutline ),
+        FSNS( XML_w14, XML_textFill ),
     };
 
     // postpone the output so that we can later [in EndParagraphProperties()]
@@ -1202,6 +1204,7 @@ const NameToId constNameToIdMapping[] =
     { OUString("shadow"),       FSNS( XML_w14, XML_shadow ) },
     { OUString("reflection"),   FSNS( XML_w14, XML_reflection ) },
     { OUString("textOutline"),  FSNS( XML_w14, XML_textOutline ) },
+    { OUString("textFill"),     FSNS( XML_w14, XML_textFill ) },
 
     { OUString("val"),          FSNS( XML_w14, XML_val ) },
     { OUString("rad"),          FSNS( XML_w14, XML_rad ) },
@@ -6690,7 +6693,8 @@ void DocxAttributeOutput::CharGrabBag( const SfxGrabBagItem& rItem )
         else if (i->first == "CharGlowTextEffect" ||
                  i->first == "CharShadowTextEffect" ||
                  i->first == "CharReflectionTextEffect" ||
-                 i->first == "CharTextOutlineTextEffect")
+                 i->first == "CharTextOutlineTextEffect" ||
+                 i->first == "CharTextFillTextEffect")
         {
             beans::PropertyValue aPropertyValue;
             i->second >>= aPropertyValue;
commit af74d1750c61fd03712fadd24d0e52101aff5c78
Author: Tomaž Vajngerl <tomaz.vajngerl at collabora.com>
Date:   Wed Feb 26 10:05:14 2014 +0100

    writerfilter: register w14:textFill to be add into CharGrabBag
    
    Change-Id: Iaa16cb0cdfba152b08e2d12268fc6f8f37a256b1

diff --git a/writerfilter/source/dmapper/TextEffectsHandler.cxx b/writerfilter/source/dmapper/TextEffectsHandler.cxx
index 9789b01..81a5c67 100644
--- a/writerfilter/source/dmapper/TextEffectsHandler.cxx
+++ b/writerfilter/source/dmapper/TextEffectsHandler.cxx
@@ -290,6 +290,9 @@ void TextEffectsHandler::convertElementIdToPropertyId(sal_Int32 aElementId)
             maElementName = "textOutline";
             break;
         case NS_ooxml::LN_textFill_textFill:
+            maPropertyId = PROP_CHAR_TEXTFILL_TEXT_EFFECT;
+            maElementName = "textFill";
+            break;
         case NS_ooxml::LN_scene3d_scene3d:
         case NS_ooxml::LN_props3d_props3d:
         case NS_ooxml::LN_ligatures_ligatures:
commit 49f539545940b0fc030e2d6407b59193c558a239
Author: Tomaž Vajngerl <tomaz.vajngerl at collabora.com>
Date:   Wed Feb 26 08:59:11 2014 +0100

    writerfilter: add w14:textFill and w14:scene3d to model.xml
    
    Change-Id: I4f22ada3a6b1ebd5cfe9e0baf1cb3abb6a877035

diff --git a/writerfilter/source/ooxml/model.xml b/writerfilter/source/ooxml/model.xml
index 786ab1e..3dab83d 100644
--- a/writerfilter/source/ooxml/model.xml
+++ b/writerfilter/source/ooxml/model.xml
@@ -5409,6 +5409,121 @@
           <value>sysDashDotDot</value>
         </choice>
       </define>
+      <define name="ST_PresetCameraType">
+        <list>
+          <choice>
+            <value>legacyObliqueTopLeft</value>
+            <value>legacyObliqueTop</value>
+            <value>legacyObliqueTopRight</value>
+            <value>legacyObliqueLeft</value>
+            <value>legacyObliqueFront</value>
+            <value>legacyObliqueRight</value>
+            <value>legacyObliqueBottomLeft</value>
+            <value>legacyObliqueBottom</value>
+            <value>legacyObliqueBottomRight</value>
+            <value>legacyPerspectiveTopLeft</value>
+            <value>legacyPerspectiveTop</value>
+            <value>legacyPerspectiveTopRight</value>
+            <value>legacyPerspectiveLeft</value>
+            <value>legacyPerspectiveFront</value>
+            <value>legacyPerspectiveRight</value>
+            <value>legacyPerspectiveBottomLeft</value>
+            <value>legacyPerspectiveBottom</value>
+            <value>legacyPerspectiveBottomRight</value>
+            <value>orthographicFront</value>
+            <value>isometricTopUp</value>
+            <value>isometricTopDown</value>
+            <value>isometricBottomUp</value>
+            <value>isometricBottomDown</value>
+            <value>isometricLeftUp</value>
+            <value>isometricLeftDown</value>
+            <value>isometricRightUp</value>
+            <value>isometricRightDown</value>
+            <value>isometricOffAxis1Left</value>
+            <value>isometricOffAxis1Right</value>
+            <value>isometricOffAxis1Top</value>
+            <value>isometricOffAxis2Left</value>
+            <value>isometricOffAxis2Right</value>
+            <value>isometricOffAxis2Top</value>
+            <value>isometricOffAxis3Left</value>
+            <value>isometricOffAxis3Right</value>
+            <value>isometricOffAxis3Bottom</value>
+            <value>isometricOffAxis4Left</value>
+            <value>isometricOffAxis4Right</value>
+            <value>isometricOffAxis4Bottom</value>
+            <value>obliqueTopLeft</value>
+            <value>obliqueTop</value>
+            <value>obliqueTopRight</value>
+            <value>obliqueLeft</value>
+            <value>obliqueRight</value>
+            <value>obliqueBottomLeft</value>
+            <value>obliqueBottom</value>
+            <value>obliqueBottomRight</value>
+            <value>perspectiveFront</value>
+            <value>perspectiveLeft</value>
+            <value>perspectiveRight</value>
+            <value>perspectiveAbove</value>
+            <value>perspectiveBelow</value>
+            <value>perspectiveAboveLeftFacing</value>
+            <value>perspectiveAboveRightFacing</value>
+            <value>perspectiveContrastingLeftFacing</value>
+            <value>perspectiveContrastingRightFacing</value>
+            <value>perspectiveHeroicLeftFacing</value>
+            <value>perspectiveHeroicRightFacing</value>
+            <value>perspectiveHeroicExtremeLeftFacing</value>
+            <value>perspectiveHeroicExtremeRightFacing</value>
+            <value>perspectiveRelaxed</value>
+            <value>perspectiveRelaxedModerately</value>
+          </choice>
+        </list>
+      </define>
+      <define name="ST_LightRigType">
+        <list>
+          <choice>
+            <value>legacyFlat1</value>
+            <value>legacyFlat2</value>
+            <value>legacyFlat3</value>
+            <value>legacyFlat4</value>
+            <value>legacyNormal1</value>
+            <value>legacyNormal2</value>
+            <value>legacyNormal3</value>
+            <value>legacyNormal4</value>
+            <value>legacyHarsh1</value>
+            <value>legacyHarsh2</value>
+            <value>legacyHarsh3</value>
+            <value>legacyHarsh4</value>
+            <value>threePt</value>
+            <value>balanced</value>
+            <value>soft</value>
+            <value>harsh</value>
+            <value>flood</value>
+            <value>contrasting</value>
+            <value>morning</value>
+            <value>sunrise</value>
+            <value>sunset</value>
+            <value>chilly</value>
+            <value>freezing</value>
+            <value>flat</value>
+            <value>twoPt</value>
+            <value>glow</value>
+            <value>brightRoom</value>
+          </choice>
+        </list>
+      </define>
+       <define name="ST_LightRigDirection">
+        <list>
+          <choice>
+            <value>tl</value>
+            <value>t</value>
+            <value>tr</value>
+            <value>l</value>
+            <value>r</value>
+            <value>bl</value>
+            <value>b</value>
+            <value>br</value>
+          </choice>
+        </list>
+      </define>
 
       <define name="ST_PositiveCoordinate">
         <data type="long">
@@ -5724,6 +5839,35 @@
           </attribute>
         </optional>
       </define>
+      <define name="CT_Camera">
+        <optional>
+          <attribute name="prst">
+            <ref name="ST_PresetCameraType"/>
+          </attribute>
+        </optional>
+      </define>
+      <define name="CT_LightRig">
+        <element name="rot">
+          <ref name="CT_SphereCoords"/>
+        </element>
+        <attribute name="rig">
+          <ref name="ST_LightRigType"/>
+        </attribute>
+        <attribute name="dir">
+          <ref name="ST_LightRigDirection"/>
+        </attribute>
+      </define>
+      <define name="CT_SphereCoords">
+        <attribute name="lat">
+          <ref name="ST_PositiveFixedAngle"/>
+        </attribute>
+        <attribute name="lon">
+          <ref name="ST_PositiveFixedAngle"/>
+        </attribute>
+        <attribute name="rev">
+          <ref name="ST_PositiveFixedAngle"/>
+        </attribute>
+      </define>
 
       <!-- Main Elements-->
       <define name="CT_Glow">
@@ -5877,6 +6021,19 @@
           </attribute>
         </optional>
       </define>
+      <define name="CT_FillTextEffect">
+        <optional>
+            <ref name="EG_FillProperties"/>
+        </optional>
+      </define>
+      <define name="CT_Scene3D">
+        <element name="camera">
+          <ref name="CT_Camera"/>
+        </element>
+        <element name="lightRig">
+          <ref name="CT_LightRig"/>
+        </element>
+      </define>
 
       <define name="glow">
         <element name="glow">
@@ -5900,12 +6057,12 @@
       </define>
       <define name="textFill">
         <element name="textFill">
-          <empty/>
+          <ref name="CT_FillTextEffect"/>
         </element>
       </define>
       <define name="scene3d">
         <element name="scene3d">
-          <empty/>
+          <ref name="CT_Scene3D"/>
         </element>
       </define>
       <define name="props3d">
@@ -6006,6 +6163,109 @@
       <value name="lgDashDotDot" tokenid="ooxml:ST_PresetLineDashVal_lgDashDotDot">lgDashDotDot</value>
       <value name="sysDashDotDot" tokenid="ooxml:ST_PresetLineDashVal_sysDashDotDot">sysDashDotDot</value>
     </resource>
+    <resource name="ST_PresetCameraType" resource="List" generated="yes">
+      <value name="legacyObliqueTopLeft" tokenid="ooxml:ST_PresetCameraType_legacyObliqueTopLeft">legacyObliqueTopLeft</value>
+      <value name="legacyObliqueTop" tokenid="ooxml:ST_PresetCameraType_legacyObliqueTop">legacyObliqueTop</value>
+      <value name="legacyObliqueTopRight" tokenid="ooxml:ST_PresetCameraType_legacyObliqueTopRight">legacyObliqueTopRight</value>
+      <value name="legacyObliqueLeft" tokenid="ooxml:ST_PresetCameraType_legacyObliqueLeft">legacyObliqueLeft</value>
+      <value name="legacyObliqueFront" tokenid="ooxml:ST_PresetCameraType_legacyObliqueFront">legacyObliqueFront</value>
+      <value name="legacyObliqueRight" tokenid="ooxml:ST_PresetCameraType_legacyObliqueRight">legacyObliqueRight</value>
+      <value name="legacyObliqueBottomLeft" tokenid="ooxml:ST_PresetCameraType_legacyObliqueBottomLeft">legacyObliqueBottomLeft</value>
+      <value name="legacyObliqueBottom" tokenid="ooxml:ST_PresetCameraType_legacyObliqueBottom">legacyObliqueBottom</value>
+      <value name="legacyObliqueBottomRight" tokenid="ooxml:ST_PresetCameraType_legacyObliqueBottomRight">legacyObliqueBottomRight</value>
+      <value name="legacyPerspectiveTopLeft" tokenid="ooxml:ST_PresetCameraType_legacyPerspectiveTopLeft">legacyPerspectiveTopLeft</value>
+      <value name="legacyPerspectiveTop" tokenid="ooxml:ST_PresetCameraType_legacyPerspectiveTop">legacyPerspectiveTop</value>
+      <value name="legacyPerspectiveTopRight" tokenid="ooxml:ST_PresetCameraType_legacyPerspectiveTopRight">legacyPerspectiveTopRight</value>
+      <value name="legacyPerspectiveLeft" tokenid="ooxml:ST_PresetCameraType_legacyPerspectiveLeft">legacyPerspectiveLeft</value>
+      <value name="legacyPerspectiveFront" tokenid="ooxml:ST_PresetCameraType_legacyPerspectiveFront">legacyPerspectiveFront</value>
+      <value name="legacyPerspectiveRight" tokenid="ooxml:ST_PresetCameraType_legacyPerspectiveRight">legacyPerspectiveRight</value>
+      <value name="legacyPerspectiveBottomLeft" tokenid="ooxml:ST_PresetCameraType_legacyPerspectiveBottomLeft">legacyPerspectiveBottomLeft</value>
+      <value name="legacyPerspectiveBottom" tokenid="ooxml:ST_PresetCameraType_legacyPerspectiveBottom">legacyPerspectiveBottom</value>
+      <value name="legacyPerspectiveBottomRight" tokenid="ooxml:ST_PresetCameraType_legacyPerspectiveBottomRight">legacyPerspectiveBottomRight</value>
+      <value name="orthographicFront" tokenid="ooxml:ST_PresetCameraType_orthographicFront">orthographicFront</value>
+      <value name="isometricTopUp" tokenid="ooxml:ST_PresetCameraType_isometricTopUp">isometricTopUp</value>
+      <value name="isometricTopDown" tokenid="ooxml:ST_PresetCameraType_isometricTopDown">isometricTopDown</value>
+      <value name="isometricBottomUp" tokenid="ooxml:ST_PresetCameraType_isometricBottomUp">isometricBottomUp</value>
+      <value name="isometricBottomDown" tokenid="ooxml:ST_PresetCameraType_isometricBottomDown">isometricBottomDown</value>
+      <value name="isometricLeftUp" tokenid="ooxml:ST_PresetCameraType_isometricLeftUp">isometricLeftUp</value>
+      <value name="isometricLeftDown" tokenid="ooxml:ST_PresetCameraType_isometricLeftDown">isometricLeftDown</value>
+      <value name="isometricRightUp" tokenid="ooxml:ST_PresetCameraType_isometricRightUp">isometricRightUp</value>
+      <value name="isometricRightDown" tokenid="ooxml:ST_PresetCameraType_isometricRightDown">isometricRightDown</value>
+      <value name="isometricOffAxis1Left" tokenid="ooxml:ST_PresetCameraType_isometricOffAxis1Left">isometricOffAxis1Left</value>
+      <value name="isometricOffAxis1Right" tokenid="ooxml:ST_PresetCameraType_isometricOffAxis1Right">isometricOffAxis1Right</value>
+      <value name="isometricOffAxis1Top" tokenid="ooxml:ST_PresetCameraType_isometricOffAxis1Top">isometricOffAxis1Top</value>
+      <value name="isometricOffAxis2Left" tokenid="ooxml:ST_PresetCameraType_isometricOffAxis2Left">isometricOffAxis2Left</value>
+      <value name="isometricOffAxis2Right" tokenid="ooxml:ST_PresetCameraType_isometricOffAxis2Right">isometricOffAxis2Right</value>
+      <value name="isometricOffAxis2Top" tokenid="ooxml:ST_PresetCameraType_isometricOffAxis2Top">isometricOffAxis2Top</value>
+      <value name="isometricOffAxis3Left" tokenid="ooxml:ST_PresetCameraType_isometricOffAxis3Left">isometricOffAxis3Left</value>
+      <value name="isometricOffAxis3Right" tokenid="ooxml:ST_PresetCameraType_isometricOffAxis3Right">isometricOffAxis3Right</value>
+      <value name="isometricOffAxis3Bottom" tokenid="ooxml:ST_PresetCameraType_isometricOffAxis3Bottom">isometricOffAxis3Bottom</value>
+      <value name="isometricOffAxis4Left" tokenid="ooxml:ST_PresetCameraType_isometricOffAxis4Left">isometricOffAxis4Left</value>
+      <value name="isometricOffAxis4Right" tokenid="ooxml:ST_PresetCameraType_isometricOffAxis4Right">isometricOffAxis4Right</value>
+      <value name="isometricOffAxis4Bottom" tokenid="ooxml:ST_PresetCameraType_isometricOffAxis4Bottom">isometricOffAxis4Bottom</value>
+      <value name="obliqueTopLeft" tokenid="ooxml:ST_PresetCameraType_obliqueTopLeft">obliqueTopLeft</value>
+      <value name="obliqueTop" tokenid="ooxml:ST_PresetCameraType_obliqueTop">obliqueTop</value>
+      <value name="obliqueTopRight" tokenid="ooxml:ST_PresetCameraType_obliqueTopRight">obliqueTopRight</value>
+      <value name="obliqueLeft" tokenid="ooxml:ST_PresetCameraType_obliqueLeft">obliqueLeft</value>
+      <value name="obliqueRight" tokenid="ooxml:ST_PresetCameraType_obliqueRight">obliqueRight</value>
+      <value name="obliqueBottomLeft" tokenid="ooxml:ST_PresetCameraType_obliqueBottomLeft">obliqueBottomLeft</value>
+      <value name="obliqueBottom" tokenid="ooxml:ST_PresetCameraType_obliqueBottom">obliqueBottom</value>
+      <value name="obliqueBottomRight" tokenid="ooxml:ST_PresetCameraType_obliqueBottomRight">obliqueBottomRight</value>
+      <value name="perspectiveFront" tokenid="ooxml:ST_PresetCameraType_perspectiveFront">perspectiveFront</value>
+      <value name="perspectiveLeft" tokenid="ooxml:ST_PresetCameraType_perspectiveLeft">perspectiveLeft</value>
+      <value name="perspectiveRight" tokenid="ooxml:ST_PresetCameraType_perspectiveRight">perspectiveRight</value>
+      <value name="perspectiveAbove" tokenid="ooxml:ST_PresetCameraType_perspectiveAbove">perspectiveAbove</value>
+      <value name="perspectiveBelow" tokenid="ooxml:ST_PresetCameraType_perspectiveBelow">perspectiveBelow</value>
+      <value name="perspectiveAboveLeftFacing" tokenid="ooxml:ST_PresetCameraType_perspectiveAboveLeftFacing">perspectiveAboveLeftFacing</value>
+      <value name="perspectiveAboveRightFacing" tokenid="ooxml:ST_PresetCameraType_perspectiveAboveRightFacing">perspectiveAboveRightFacing</value>
+      <value name="perspectiveContrastingLeftFacing" tokenid="ooxml:ST_PresetCameraType_perspectiveContrastingLeftFacing">perspectiveContrastingLeftFacing</value>
+      <value name="perspectiveContrastingRightFacing" tokenid="ooxml:ST_PresetCameraType_perspectiveContrastingRightFacing">perspectiveContrastingRightFacing</value>
+      <value name="perspectiveHeroicLeftFacing" tokenid="ooxml:ST_PresetCameraType_perspectiveHeroicLeftFacing">perspectiveHeroicLeftFacing</value>
+      <value name="perspectiveHeroicRightFacing" tokenid="ooxml:ST_PresetCameraType_perspectiveHeroicRightFacing">perspectiveHeroicRightFacing</value>
+      <value name="perspectiveHeroicExtremeLeftFacing" tokenid="ooxml:ST_PresetCameraType_perspectiveHeroicExtremeLeftFacing">perspectiveHeroicExtremeLeftFacing</value>
+      <value name="perspectiveHeroicExtremeRightFacing" tokenid="ooxml:ST_PresetCameraType_perspectiveHeroicExtremeRightFacing">perspectiveHeroicExtremeRightFacing</value>
+      <value name="perspectiveRelaxed" tokenid="ooxml:ST_PresetCameraType_perspectiveRelaxed">perspectiveRelaxed</value>
+      <value name="perspectiveRelaxedModerately" tokenid="ooxml:ST_PresetCameraType_perspectiveRelaxedModerately">perspectiveRelaxedModerately</value>
+    </resource>
+    <resource name="ST_LightRigType" resource="List" generated="yes">
+      <value name="legacyFlat1" tokenid="ooxml:ST_LightRigType_legacyFlat1">legacyFlat1</value>
+      <value name="legacyFlat2" tokenid="ooxml:ST_LightRigType_legacyFlat2">legacyFlat2</value>
+      <value name="legacyFlat3" tokenid="ooxml:ST_LightRigType_legacyFlat3">legacyFlat3</value>
+      <value name="legacyFlat4" tokenid="ooxml:ST_LightRigType_legacyFlat4">legacyFlat4</value>
+      <value name="legacyNormal1" tokenid="ooxml:ST_LightRigType_legacyNormal1">legacyNormal1</value>
+      <value name="legacyNormal2" tokenid="ooxml:ST_LightRigType_legacyNormal2">legacyNormal2</value>
+      <value name="legacyNormal3" tokenid="ooxml:ST_LightRigType_legacyNormal3">legacyNormal3</value>
+      <value name="legacyNormal4" tokenid="ooxml:ST_LightRigType_legacyNormal4">legacyNormal4</value>
+      <value name="legacyHarsh1" tokenid="ooxml:ST_LightRigType_legacyHarsh1">legacyHarsh1</value>
+      <value name="legacyHarsh2" tokenid="ooxml:ST_LightRigType_legacyHarsh2">legacyHarsh2</value>
+      <value name="legacyHarsh3" tokenid="ooxml:ST_LightRigType_legacyHarsh3">legacyHarsh3</value>
+      <value name="legacyHarsh4" tokenid="ooxml:ST_LightRigType_legacyHarsh4">legacyHarsh4</value>
+      <value name="threePt" tokenid="ooxml:ST_LightRigType_threePt">threePt</value>
+      <value name="balanced" tokenid="ooxml:ST_LightRigType_balanced">balanced</value>
+      <value name="soft" tokenid="ooxml:ST_LightRigType_soft">soft</value>
+      <value name="harsh" tokenid="ooxml:ST_LightRigType_harsh">harsh</value>
+      <value name="flood" tokenid="ooxml:ST_LightRigType_flood">flood</value>
+      <value name="contrasting" tokenid="ooxml:ST_LightRigType_contrasting">contrasting</value>
+      <value name="morning" tokenid="ooxml:ST_LightRigType_morning">morning</value>
+      <value name="sunrise" tokenid="ooxml:ST_LightRigType_sunrise">sunrise</value>
+      <value name="sunset" tokenid="ooxml:ST_LightRigType_sunset">sunset</value>
+      <value name="chilly" tokenid="ooxml:ST_LightRigType_chilly">chilly</value>
+      <value name="freezing" tokenid="ooxml:ST_LightRigType_freezing">freezing</value>
+      <value name="flat" tokenid="ooxml:ST_LightRigType_flat">flat</value>
+      <value name="twoPt" tokenid="ooxml:ST_LightRigType_twoPt">twoPt</value>
+      <value name="glow" tokenid="ooxml:ST_LightRigType_glow">glow</value>
+      <value name="brightRoom" tokenid="ooxml:ST_LightRigType_brightRoom">brightRoom</value>
+    </resource>
+    <resource name="ST_LightRigDirection" resource="List" generated="yes">
+      <value name="tl" tokenid="ooxml:ST_LightRigDirection_tl">tl</value>
+      <value name="t" tokenid="ooxml:ST_LightRigDirection_t">t</value>
+      <value name="tr" tokenid="ooxml:ST_LightRigDirection_tr">tr</value>
+      <value name="l" tokenid="ooxml:ST_LightRigDirection_l">l</value>
+      <value name="r" tokenid="ooxml:ST_LightRigDirection_r">r</value>
+      <value name="bl" tokenid="ooxml:ST_LightRigDirection_bl">bl</value>
+      <value name="b" tokenid="ooxml:ST_LightRigDirection_b">b</value>
+      <value name="br" tokenid="ooxml:ST_LightRigDirection_br">br</value>
+    </resource>
 
     <resource name="ST_PositiveCoordinate" resource="Integer" generated="yes"/>
     <resource name="ST_HexColorRGB" resource="Hex"/>
@@ -6101,6 +6361,19 @@
     <resource name="CT_LineJoinMiterProperties" resource="Properties" tag="character">
       <attribute name="lim" tokenid="ooxml:CT_LineJoinMiterProperties_lim"/>
     </resource>
+    <resource name="CT_Camera" resource="Properties" tag="character">
+      <attribute name="prst" tokenid="ooxml:CT_Camera_prst"/>
+    </resource>
+    <resource name="CT_LightRig" resource="Properties" tag="character">
+      <element name="rot" tokenid="ooxml:CT_LightRig_rot"/>
+      <attribute name="rig" tokenid="ooxml:CT_LightRig_rig"/>
+      <attribute name="dir" tokenid="ooxml:CT_LightRig_dir"/>
+    </resource>
+    <resource name="CT_SphereCoords" resource="Properties" tag="character">
+      <attribute name="lat" tokenid="ooxml:CT_SphereCoords_lat"/>
+      <attribute name="lon" tokenid="ooxml:CT_SphereCoords_lon"/>
+      <attribute name="rev" tokenid="ooxml:CT_SphereCoords_rev"/>
+    </resource>
 
     <resource name="CT_Shadow" resource="Properties" tag="character">
       <attribute name="blurRad" tokenid="ooxml:CT_Shadow_blurRad"/>
@@ -6133,6 +6406,7 @@
       <attribute name="cmpd" tokenid="ooxml:CT_TextOutlineEffect_cmpd"/>
       <attribute name="algn" tokenid="ooxml:CT_TextOutlineEffect_algn"/>
     </resource>
+    <resource name="CT_FillTextEffect" resource="Properties" tag="character"/>
 
     <resource name="glow" resource="Properties" tag="character">
       <element name="glow" tokenid="ooxml:glow_glow"/>
@@ -17823,7 +18097,7 @@
             <ref name="BUILT_IN_ANY_TYPE"/>
           </element>
         </optional>
-        <!--<optional>
+        <optional>
           <element name="w14:textFill">
             <ref name="BUILT_IN_ANY_TYPE"/>
           </element>
@@ -17833,7 +18107,7 @@
             <ref name="BUILT_IN_ANY_TYPE"/>
           </element>
         </optional>
-        <optional>
+        <!--<optional>
           <element name="w14:props3d">
             <ref name="BUILT_IN_ANY_TYPE"/>
           </element>
@@ -23834,9 +24108,9 @@
       <element name="w14:shadow" tokenid="ooxml:EG_RPrBase_w14_shadow"/>
       <element name="w14:reflection" tokenid="ooxml:EG_RPrBase_w14_reflection"/>
       <element name="w14:textOutline" tokenid="ooxml:EG_RPrBase_w14_textOutline"/>
-      <!--<element name="w14:textFill" tokenid="ooxml:EG_RPrBase_w14_textFill"/>
+      <element name="w14:textFill" tokenid="ooxml:EG_RPrBase_w14_textFill"/>
       <element name="w14:scene3d" tokenid="ooxml:EG_RPrBase_w14_scene3d"/>
-      <element name="w14:props3d" tokenid="ooxml:EG_RPrBase_w14_props3d"/>
+      <!--<element name="w14:props3d" tokenid="ooxml:EG_RPrBase_w14_props3d"/>
       <element name="w14:ligatures" tokenid="ooxml:EG_RPrBase_w14_ligatures"/>
       <element name="w14:numForm" tokenid="ooxml:EG_RPrBase_w14_numForm"/>
       <element name="w14:numSpacing" tokenid="ooxml:EG_RPrBase_w14_numSpacing"/>


More information about the Libreoffice-commits mailing list