summaryrefslogtreecommitdiff
path: root/writerfilter
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@suse.cz>2012-12-27 13:32:14 +0100
committerMiklos Vajna <vmiklos@suse.cz>2012-12-27 13:33:47 +0100
commit6cac123a8de8357cf11d9b5f818233889d729939 (patch)
treeec3a61bd7ac630e9b79efd8efed5f3c04df0631a /writerfilter
parent09b08d4adb758b8766f22f2bac9a1fa2d94f6b53 (diff)
fdo#45183 import RTF_SHPFBLWTXT
Diffstat (limited to 'writerfilter')
-rw-r--r--writerfilter/source/rtftok/rtfdocumentimpl.cxx14
1 files changed, 13 insertions, 1 deletions
diff --git a/writerfilter/source/rtftok/rtfdocumentimpl.cxx b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
index e5f9c29764b5..b4e262e896f6 100644
--- a/writerfilter/source/rtftok/rtfdocumentimpl.cxx
+++ b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
@@ -793,11 +793,15 @@ int RTFDocumentImpl::resolvePict(bool bInline)
{
// wrap sprm
RTFSprms aAnchorWrapAttributes;
+ RTFSprms aAnchorAttributes;
for (RTFSprms::Iterator_t i = m_aStates.top().aCharacterAttributes.begin(); i != m_aStates.top().aCharacterAttributes.end(); ++i)
+ {
if (i->first == NS_ooxml::LN_CT_WrapSquare_wrapText)
aAnchorWrapAttributes.set(i->first, i->second);
+ else if (i->first == NS_rtf::LN_WR)
+ aAnchorAttributes.set(i->first, i->second);
+ }
RTFValue::Pointer_t pAnchorWrapValue(new RTFValue(aAnchorWrapAttributes));
- RTFSprms aAnchorAttributes;
RTFSprms aAnchorSprms;
aAnchorSprms.set(NS_ooxml::LN_CT_Anchor_extent, pExtentValue);
if (aAnchorWrapAttributes.size())
@@ -3316,6 +3320,14 @@ int RTFDocumentImpl::dispatchValue(RTFKeyword nKeyword, int nParam)
}
}
break;
+ case RTF_SHPFBLWTXT:
+ if (nParam == 1)
+ {
+ // Shape is below text -> send it to the background.
+ m_aStates.top().aCharacterAttributes.erase(NS_ooxml::LN_CT_WrapSquare_wrapText);
+ m_aStates.top().aCharacterAttributes.set(NS_rtf::LN_WR, RTFValue::Pointer_t(new RTFValue(3)));
+ }
+ break;
default:
SAL_INFO("writerfilter", OSL_THIS_FUNC << ": TODO handle value '" << lcl_RtfToString(nKeyword) << "'");
aSkip.setParsed(false);