diff options
author | Miklos Vajna <vmiklos@suse.cz> | 2012-12-27 13:32:14 +0100 |
---|---|---|
committer | Miklos Vajna <vmiklos@suse.cz> | 2012-12-28 13:43:35 +0100 |
commit | d7223549a5ee1b7900b6db33c116ababd8db63e8 (patch) | |
tree | 9c0bbf713d0df8a4d50f75cf3e76d42d55bde8c4 /writerfilter | |
parent | c5229f497008051b078e9f76e00031dfb3b6f41f (diff) |
fdo#45183 import RTF_SHPFBLWTXT
(cherry picked from commit 6cac123a8de8357cf11d9b5f818233889d729939)
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 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); |