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-28 13:43:35 +0100
commitd7223549a5ee1b7900b6db33c116ababd8db63e8 (patch)
tree9c0bbf713d0df8a4d50f75cf3e76d42d55bde8c4 /writerfilter
parentc5229f497008051b078e9f76e00031dfb3b6f41f (diff)
fdo#45183 import RTF_SHPFBLWTXT
(cherry picked from commit 6cac123a8de8357cf11d9b5f818233889d729939)
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 2fae8b45634d..0de85f61bb45 100644
--- a/writerfilter/source/rtftok/rtfdocumentimpl.cxx
+++ b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
@@ -792,11 +792,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())
@@ -3315,6 +3319,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);