diff options
author | Miklos Vajna <vmiklos@suse.cz> | 2012-12-27 13:32:14 +0100 |
---|---|---|
committer | Miklos Vajna <vmiklos@suse.cz> | 2012-12-27 13:33:47 +0100 |
commit | 6cac123a8de8357cf11d9b5f818233889d729939 (patch) | |
tree | ec3a61bd7ac630e9b79efd8efed5f3c04df0631a /writerfilter | |
parent | 09b08d4adb758b8766f22f2bac9a1fa2d94f6b53 (diff) |
fdo#45183 import RTF_SHPFBLWTXT
Diffstat (limited to 'writerfilter')
-rw-r--r-- | writerfilter/source/rtftok/rtfdocumentimpl.cxx | 14 |
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); |