sw/source/filter/ww8/docxattributeoutput.cxx | 10 ++ writerfilter/source/dmapper/PropertyIds.cxx | 14 ++- writerfilter/source/dmapper/PropertyIds.hxx | 10 ++ writerfilter/source/dmapper/TextEffectsHandler.cxx | 77 ++++++++++++----- writerfilter/source/ooxml/model.xml | 93 +++++++++++++++++++-- 5 files changed, 175 insertions(+), 29 deletions(-)
New commits: commit a086a19714555ea7493e0c9ce71ee85bbc9a3664 Author: Tomaž Vajngerl <tomaz.vajng...@collabora.com> Date: Sun Feb 23 23:37:28 2014 +0100 ooxml export: w14:reflection element Change-Id: I84cd2cd13b56a2fa369fc4c1e98c5be519a50e78 diff --git a/sw/source/filter/ww8/docxattributeoutput.cxx b/sw/source/filter/ww8/docxattributeoutput.cxx index b34ce93..d37fe60 100644 --- a/sw/source/filter/ww8/docxattributeoutput.cxx +++ b/sw/source/filter/ww8/docxattributeoutput.cxx @@ -1124,6 +1124,7 @@ void DocxAttributeOutput::InitCollectedRunProperties() FSNS( XML_w, XML_rPrChange ), FSNS( XML_w14, XML_glow ), FSNS( XML_w14, XML_shadow ), + FSNS( XML_w14, XML_reflection ), }; // postpone the output so that we can later [in EndParagraphProperties()] @@ -1150,12 +1151,18 @@ const NameToId constNameToIdMapping[] = { { OUString("glow"), FSNS( XML_w14, XML_glow ) }, { OUString("shadow"), FSNS( XML_w14, XML_shadow ) }, + { OUString("reflection"),FSNS( XML_w14, XML_reflection ) }, { OUString("val"), FSNS( XML_w14, XML_val ) }, { OUString("rad"), FSNS( XML_w14, XML_rad ) }, { OUString("blurRad"), FSNS( XML_w14, XML_blurRad ) }, + { OUString("stA"), FSNS( XML_w14, XML_stA ) }, + { OUString("stPos"), FSNS( XML_w14, XML_stPos ) }, + { OUString("endA"), FSNS( XML_w14, XML_endA ) }, + { OUString("endPos"), FSNS( XML_w14, XML_endPos ) }, { OUString("dist"), FSNS( XML_w14, XML_dist ) }, { OUString("dir"), FSNS( XML_w14, XML_dir ) }, + { OUString("fadeDir"), FSNS( XML_w14, XML_fadeDir ) }, { OUString("sx"), FSNS( XML_w14, XML_sx ) }, { OUString("sy"), FSNS( XML_w14, XML_sy ) }, { OUString("kx"), FSNS( XML_w14, XML_kx ) }, @@ -6465,7 +6472,8 @@ void DocxAttributeOutput::CharGrabBag( const SfxGrabBagItem& rItem ) // just skip these, they were processed before } else if (i->first == "CharGlowTextEffect" || - i->first == "CharShadowTextEffect") + i->first == "CharShadowTextEffect" || + i->first == "CharReflectionTextEffect") { beans::PropertyValue aPropertyValue; i->second >>= aPropertyValue; commit 155720819b58f745443ed09a5885159e27480ba6 Author: Tomaž Vajngerl <tomaz.vajng...@collabora.com> Date: Sun Feb 23 23:36:13 2014 +0100 writerfilter: put w14:reflection attributes into a GrabBag Change-Id: I0738b3a69df9acc6e636849fbb78231621e1cad9 diff --git a/writerfilter/source/dmapper/TextEffectsHandler.cxx b/writerfilter/source/dmapper/TextEffectsHandler.cxx index 7f292eb..fa0e2ad 100644 --- a/writerfilter/source/dmapper/TextEffectsHandler.cxx +++ b/writerfilter/source/dmapper/TextEffectsHandler.cxx @@ -161,6 +161,9 @@ void TextEffectsHandler::convertElementIdToPropertyId(sal_Int32 aElementId) maElementName = "shadow"; break; case NS_ooxml::LN_reflection_reflection: + maPropertyId = PROP_CHAR_REFLECTION_TEXT_EFFECT; + maElementName = "reflection"; + break; case NS_ooxml::LN_textOutline_textOutline: case NS_ooxml::LN_textFill_textFill: case NS_ooxml::LN_scene3d_scene3d: @@ -224,27 +227,50 @@ void TextEffectsHandler::lcl_attribute(Id aName, Value& aValue) } break; case NS_ooxml::LN_CT_Shadow_blurRad: + case NS_ooxml::LN_CT_Reflection_blurRad: mpGrabBagStack->addInt32("blurRad", sal_Int32(aValue.getInt())); break; + case NS_ooxml::LN_CT_Reflection_stA: + mpGrabBagStack->addInt32("stA", sal_Int32(aValue.getInt())); + break; + case NS_ooxml::LN_CT_Reflection_stPos: + mpGrabBagStack->addInt32("stPos", sal_Int32(aValue.getInt())); + break; + case NS_ooxml::LN_CT_Reflection_endA: + mpGrabBagStack->addInt32("endA", sal_Int32(aValue.getInt())); + break; + case NS_ooxml::LN_CT_Reflection_endPos: + mpGrabBagStack->addInt32("endPos", sal_Int32(aValue.getInt())); + break; case NS_ooxml::LN_CT_Shadow_dist: + case NS_ooxml::LN_CT_Reflection_dist: mpGrabBagStack->addInt32("dist", sal_Int32(aValue.getInt())); break; case NS_ooxml::LN_CT_Shadow_dir: + case NS_ooxml::LN_CT_Reflection_dir: mpGrabBagStack->addInt32("dir", sal_Int32(aValue.getInt())); break; + case NS_ooxml::LN_CT_Reflection_fadeDir: + mpGrabBagStack->addInt32("fadeDir", sal_Int32(aValue.getInt())); + break; case NS_ooxml::LN_CT_Shadow_sx: + case NS_ooxml::LN_CT_Reflection_sx: mpGrabBagStack->addInt32("sx", sal_Int32(aValue.getInt())); break; case NS_ooxml::LN_CT_Shadow_sy: + case NS_ooxml::LN_CT_Reflection_sy: mpGrabBagStack->addInt32("sy", sal_Int32(aValue.getInt())); break; case NS_ooxml::LN_CT_Shadow_kx: + case NS_ooxml::LN_CT_Reflection_kx: mpGrabBagStack->addInt32("kx", sal_Int32(aValue.getInt())); break; case NS_ooxml::LN_CT_Shadow_ky: + case NS_ooxml::LN_CT_Reflection_ky: mpGrabBagStack->addInt32("ky", sal_Int32(aValue.getInt())); break; case NS_ooxml::LN_CT_Shadow_algn: + case NS_ooxml::LN_CT_Reflection_algn: { uno::Any aAny = makeAny(getRectAlignmentString(sal_Int32(aValue.getInt()))); mpGrabBagStack->appendElement("algn", aAny); commit 7ad918450658dd51853642929828438604fadfb5 Author: Tomaž Vajngerl <tomaz.vajng...@collabora.com> Date: Sun Feb 23 22:59:25 2014 +0100 writerfilter: TextEffectsHandler - simplyfy switch Change-Id: I9fe8967892f2298729940af3b3781fde760de69d diff --git a/writerfilter/source/dmapper/TextEffectsHandler.cxx b/writerfilter/source/dmapper/TextEffectsHandler.cxx index edb219e..7f292eb 100644 --- a/writerfilter/source/dmapper/TextEffectsHandler.cxx +++ b/writerfilter/source/dmapper/TextEffectsHandler.cxx @@ -96,6 +96,16 @@ public: mStack.pop(); appendElement(aName, makeAny(aSequence)); } + + void addInt32(OUString aElementName, sal_Int32 aIntValue) + { + appendElement(aElementName, makeAny(aIntValue)); + } + + void addString(OUString aElementName, OUString aStringValue) + { + appendElement(aElementName, makeAny(aStringValue)); + } }; OUString TextEffectsHandler::getSchemeColorValTypeString(sal_Int32 nType) @@ -191,49 +201,48 @@ void TextEffectsHandler::lcl_attribute(Id aName, Value& aValue) switch(aName) { case NS_ooxml::LN_CT_Percentage_val: - mpGrabBagStack->appendElement("val", makeAny(sal_Int32(aValue.getInt()))); - break; case NS_ooxml::LN_CT_PositiveFixedPercentage_val: - mpGrabBagStack->appendElement("val", makeAny(sal_Int32(aValue.getInt()))); - break; case NS_ooxml::LN_CT_PositivePercentage_val: - mpGrabBagStack->appendElement("val", makeAny(sal_Int32(aValue.getInt()))); + mpGrabBagStack->addInt32("val", sal_Int32(aValue.getInt())); + break; + case NS_ooxml::LN_CT_Glow_rad: + mpGrabBagStack->addInt32("rad", sal_Int32(aValue.getInt())); break; case NS_ooxml::LN_CT_SchemeColor_val: - mpGrabBagStack->appendElement("val", makeAny(getSchemeColorValTypeString(sal_Int32(aValue.getInt())))); + { + OUString aString = getSchemeColorValTypeString(sal_Int32(aValue.getInt())); + mpGrabBagStack->addString("val", aString); + } break; case NS_ooxml::LN_CT_SRgbColor_val: { - OUStringBuffer aBuf = OUString::number(aValue.getInt(), 16); - OUStringBuffer aStr; - comphelper::string::padToLength(aStr, 6 - aBuf.getLength(), '0'); - aStr.append(aBuf.getStr()); - mpGrabBagStack->appendElement("val", makeAny(aStr.makeStringAndClear().toAsciiUpperCase())); + OUStringBuffer aBuffer = OUString::number(aValue.getInt(), 16); + OUStringBuffer aString; + comphelper::string::padToLength(aString, 6 - aBuffer.getLength(), '0'); + aString.append(aBuffer.getStr()); + mpGrabBagStack->addString("val", aString.makeStringAndClear().toAsciiUpperCase()); } break; - case NS_ooxml::LN_CT_Glow_rad: - mpGrabBagStack->appendElement("rad", makeAny(sal_Int32(aValue.getInt()))); - break; case NS_ooxml::LN_CT_Shadow_blurRad: - mpGrabBagStack->appendElement("blurRad", makeAny(sal_Int32(aValue.getInt()))); + mpGrabBagStack->addInt32("blurRad", sal_Int32(aValue.getInt())); break; case NS_ooxml::LN_CT_Shadow_dist: - mpGrabBagStack->appendElement("dist", makeAny(sal_Int32(aValue.getInt()))); + mpGrabBagStack->addInt32("dist", sal_Int32(aValue.getInt())); break; case NS_ooxml::LN_CT_Shadow_dir: - mpGrabBagStack->appendElement("dir", makeAny(sal_Int32(aValue.getInt()))); + mpGrabBagStack->addInt32("dir", sal_Int32(aValue.getInt())); break; case NS_ooxml::LN_CT_Shadow_sx: - mpGrabBagStack->appendElement("sx", makeAny(sal_Int32(aValue.getInt()))); + mpGrabBagStack->addInt32("sx", sal_Int32(aValue.getInt())); break; case NS_ooxml::LN_CT_Shadow_sy: - mpGrabBagStack->appendElement("sy", makeAny(sal_Int32(aValue.getInt()))); + mpGrabBagStack->addInt32("sy", sal_Int32(aValue.getInt())); break; case NS_ooxml::LN_CT_Shadow_kx: - mpGrabBagStack->appendElement("kx", makeAny(sal_Int32(aValue.getInt()))); + mpGrabBagStack->addInt32("kx", sal_Int32(aValue.getInt())); break; case NS_ooxml::LN_CT_Shadow_ky: - mpGrabBagStack->appendElement("ky", makeAny(sal_Int32(aValue.getInt()))); + mpGrabBagStack->addInt32("ky", sal_Int32(aValue.getInt())); break; case NS_ooxml::LN_CT_Shadow_algn: { commit add5fc37308fe2a22137aaeddddc8e7831bd5bc7 Author: Tomaž Vajngerl <tomaz.vajng...@collabora.com> Date: Sun Feb 23 22:21:46 2014 +0100 writerfilter: add property ids for all w14 main elements Change-Id: Ieb622364c1fbb2e5177392ff576a457a57b5cbb0 diff --git a/writerfilter/source/dmapper/PropertyIds.cxx b/writerfilter/source/dmapper/PropertyIds.cxx index c3792cc..f78c10b 100644 --- a/writerfilter/source/dmapper/PropertyIds.cxx +++ b/writerfilter/source/dmapper/PropertyIds.cxx @@ -375,8 +375,18 @@ OUString PropertyNameSupplier::GetName( PropertyIds eId ) const case PROP_TOC_NEW_LINE: sName = "TOCNewLine"; break; case PROP_TOC_PARAGRAPH_OUTLINE_LEVEL : sName = "TOCParagraphOutlineLevel"; break; case PROP_CHAR_THEME_COLOR_TINT : sName = "CharThemeColorTint"; break; - case PROP_CHAR_GLOW_TEXT_EFFECT : sName = "CharGlowTextEffect"; break; - case PROP_CHAR_SHADOW_TEXT_EFFECT : sName = "CharShadowTextEffect"; break; + case PROP_CHAR_GLOW_TEXT_EFFECT : sName = "CharGlowTextEffect"; break; + case PROP_CHAR_SHADOW_TEXT_EFFECT : sName = "CharShadowTextEffect"; break; + case PROP_CHAR_REFLECTION_TEXT_EFFECT : sName = "CharReflectionTextEffect"; break; + case PROP_CHAR_TEXTOUTLINE_TEXT_EFFECT : sName = "CharTextOutlineTextEffect"; break; + case PROP_CHAR_TEXTFILL_TEXT_EFFECT : sName = "CharTextFillTextEffect"; break; + case PROP_CHAR_SCENE3D_TEXT_EFFECT : sName = "CharScene3DTextEffect"; break; + case PROP_CHAR_PROPS3D_TEXT_EFFECT : sName = "CharProps3DTextEffect"; break; + case PROP_CHAR_LIGATURES_TEXT_EFFECT : sName = "CharLigaturesTextEffect"; break; + case PROP_CHAR_NUMFORM_TEXT_EFFECT : sName = "CharNumFormTextEffect"; break; + case PROP_CHAR_NUMSPACING_TEXT_EFFECT : sName = "CharNumSpacingTextEffect"; break; + case PROP_CHAR_STYLISTICSETS_TEXT_EFFECT : sName = "CharStylisticSetsTextEffect"; break; + case PROP_CHAR_CNTXTALTS_TEXT_EFFECT : sName = "CharCntxtAltsTextEffect"; break; } ::std::pair<PropertyNameMap_t::iterator,bool> aInsertIt = m_pImpl->aNameMap.insert( PropertyNameMap_t::value_type( eId, sName )); diff --git a/writerfilter/source/dmapper/PropertyIds.hxx b/writerfilter/source/dmapper/PropertyIds.hxx index 18ba148..fbbf596 100644 --- a/writerfilter/source/dmapper/PropertyIds.hxx +++ b/writerfilter/source/dmapper/PropertyIds.hxx @@ -349,6 +349,16 @@ enum PropertyIds ,PROP_CHAR_THEME_COLOR_TINT ,PROP_CHAR_GLOW_TEXT_EFFECT ,PROP_CHAR_SHADOW_TEXT_EFFECT + ,PROP_CHAR_REFLECTION_TEXT_EFFECT + ,PROP_CHAR_TEXTOUTLINE_TEXT_EFFECT + ,PROP_CHAR_TEXTFILL_TEXT_EFFECT + ,PROP_CHAR_SCENE3D_TEXT_EFFECT + ,PROP_CHAR_PROPS3D_TEXT_EFFECT + ,PROP_CHAR_LIGATURES_TEXT_EFFECT + ,PROP_CHAR_NUMFORM_TEXT_EFFECT + ,PROP_CHAR_NUMSPACING_TEXT_EFFECT + ,PROP_CHAR_STYLISTICSETS_TEXT_EFFECT + ,PROP_CHAR_CNTXTALTS_TEXT_EFFECT }; struct PropertyNameSupplier_Impl; class PropertyNameSupplier commit 52ff05f31ca6e5b3b62366bf50ab92f3a54a5ae4 Author: Tomaž Vajngerl <tomaz.vajng...@collabora.com> Date: Sun Feb 23 22:21:06 2014 +0100 writerfilter: add w14:reflection to model.xml Change-Id: I5d94ebf602d06f334661936136213cb4eddb6a36 diff --git a/writerfilter/source/ooxml/model.xml b/writerfilter/source/ooxml/model.xml index fed4cda..73d90d8 100644 --- a/writerfilter/source/ooxml/model.xml +++ b/writerfilter/source/ooxml/model.xml @@ -5568,6 +5568,74 @@ </optional> </define> + <define name="CT_Reflection"> + <optional> + <attribute name="blurRad"> + <ref name="ST_PositiveCoordinate"/> + </attribute> + </optional> + <optional> + <attribute name="stA"> + <ref name="ST_PositiveFixedPercentage"/> + </attribute> + </optional> + <optional> + <attribute name="stPos"> + <ref name="ST_PositiveFixedPercentage"/> + </attribute> + </optional> + <optional> + <attribute name="endA"> + <ref name="ST_PositiveFixedPercentage"/> + </attribute> + </optional> + <optional> + <attribute name="endPos"> + <ref name="ST_PositiveFixedPercentage"/> + </attribute> + </optional> + <optional> + <attribute name="dist"> + <ref name="ST_PositiveCoordinate"/> + </attribute> + </optional> + <optional> + <attribute name="dir"> + <ref name="ST_PositiveFixedAngle"/> + </attribute> + </optional> + <optional> + <attribute name="fadeDir"> + <ref name="ST_PositiveFixedAngle"/> + </attribute> + </optional> + <optional> + <attribute name="sx"> + <ref name="ST_Percentage"/> + </attribute> + </optional> + <optional> + <attribute name="sy"> + <ref name="ST_Percentage"/> + </attribute> + </optional> + <optional> + <attribute name="kx"> + <ref name="ST_FixedAngle"/> + </attribute> + </optional> + <optional> + <attribute name="ky"> + <ref name="ST_FixedAngle"/> + </attribute> + </optional> + <optional> + <attribute name="algn"> + <ref name="ST_RectAlignment"/> + </attribute> + </optional> + </define> + <define name="CT_TextOutlineEffect"> <empty/> </define> @@ -5586,7 +5654,7 @@ <define name="reflection"> <element name="reflection"> - <empty/> + <ref name="CT_Reflection"/> </element> </define> @@ -5728,6 +5796,21 @@ <attribute name="ky" tokenid="ooxml:CT_Shadow_ky"/> <attribute name="algn" tokenid="ooxml:CT_Shadow_algn"/> </resource> + <resource name="CT_Reflection" resource="Properties" tag="character"> + <attribute name="blurRad" tokenid="ooxml:CT_Reflection_blurRad"/> + <attribute name="stA" tokenid="ooxml:CT_Reflection_stA"/> + <attribute name="stPos" tokenid="ooxml:CT_Reflection_stPos"/> + <attribute name="endA" tokenid="ooxml:CT_Reflection_endA"/> + <attribute name="endPos" tokenid="ooxml:CT_Reflection_endPos"/> + <attribute name="dist" tokenid="ooxml:CT_Reflection_dist"/> + <attribute name="dir" tokenid="ooxml:CT_Reflection_dir"/> + <attribute name="fadeDir" tokenid="ooxml:CT_Reflection_fadeDir"/> + <attribute name="sx" tokenid="ooxml:CT_Reflection_sx"/> + <attribute name="sy" tokenid="ooxml:CT_Reflection_sy"/> + <attribute name="kx" tokenid="ooxml:CT_Reflection_kx"/> + <attribute name="ky" tokenid="ooxml:CT_Reflection_ky"/> + <attribute name="algn" tokenid="ooxml:CT_Reflection_algn"/> + </resource> <resource name="glow" resource="Properties" tag="character"> <element name="glow" tokenid="ooxml:glow_glow"/> </resource> @@ -17407,12 +17490,12 @@ <ref name="BUILT_IN_ANY_TYPE"/> </element> </optional> - <!--<optional> + <optional> <element name="w14:reflection"> <ref name="BUILT_IN_ANY_TYPE"/> </element> </optional> - <optional> + <!--<optional> <element name="w14:textOutline"> <ref name="BUILT_IN_ANY_TYPE"/> </element> @@ -23426,8 +23509,8 @@ <element name="oMath" tokenid="ooxml:EG_RPrBase_oMath"/> <element name="w14:glow" tokenid="ooxml:EG_RPrBase_w14_glow"/> <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: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:scene3d" tokenid="ooxml:EG_RPrBase_w14_scene3d"/> <element name="w14:props3d" tokenid="ooxml:EG_RPrBase_w14_props3d"/>
_______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits