diff options
Diffstat (limited to 'oox/source/drawingml/effectproperties.cxx')
-rw-r--r-- | oox/source/drawingml/effectproperties.cxx | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/oox/source/drawingml/effectproperties.cxx b/oox/source/drawingml/effectproperties.cxx index 7e89726abf14..be3b3d00cd18 100644 --- a/oox/source/drawingml/effectproperties.cxx +++ b/oox/source/drawingml/effectproperties.cxx @@ -30,6 +30,8 @@ void EffectShadowProperties::assignUsed(const EffectShadowProperties& rSourcePro void EffectProperties::assignUsed( const EffectProperties& rSourceProps ) { maShadow.assignUsed(rSourceProps.maShadow); + msUnsupportedEffectName.assignIfUsed( rSourceProps.msUnsupportedEffectName ); + maUnsupportedEffectAttribs = rSourceProps.maUnsupportedEffectAttribs; } void EffectProperties::pushToPropMap( PropertyMap& rPropMap, @@ -51,6 +53,34 @@ void EffectProperties::pushToPropMap( PropertyMap& rPropMap, } } +void EffectProperties::appendUnsupportedEffectAttrib( const OUString& aKey, const css::uno::Any& aValue ) +{ + css::beans::PropertyValue aProperty; + aProperty.Name = aKey; + aProperty.Value = aValue; + maUnsupportedEffectAttribs.push_back(aProperty); +} + +css::beans::PropertyValue EffectProperties::getUnsupportedEffect() +{ + css::beans::PropertyValue pRet; + if(!msUnsupportedEffectName.has()) + return pRet; + + css::uno::Sequence<css::beans::PropertyValue> aSeq(maUnsupportedEffectAttribs.size()); + css::beans::PropertyValue* pSeq = aSeq.getArray(); + for (std::vector<css::beans::PropertyValue>::iterator i = maUnsupportedEffectAttribs.begin(); i != maUnsupportedEffectAttribs.end(); ++i) + *pSeq++ = *i; + + pRet.Name = msUnsupportedEffectName.use(); + pRet.Value = css::uno::Any( aSeq ); + + msUnsupportedEffectName.reset(); + maUnsupportedEffectAttribs.clear(); + + return pRet; +} + } // namespace drawingml |