diff options
author | Justin Luth <justin_luth@sil.org> | 2017-09-04 18:04:29 +0200 |
---|---|---|
committer | Justin Luth <justin_luth@sil.org> | 2017-09-04 19:25:20 +0200 |
commit | 24e453e6018af2e71af784dc9364b5ea70112f29 (patch) | |
tree | 64712bb99daa69e73d5afa75c8808e2c128ca8f2 | |
parent | e56f61c4637c09afbf125fa02f131b0c49e36351 (diff) |
Revert "tdf#111895 writerfilter: avoid hiding shapes behind background"
This reverts commit d21f67fa7fd0360688e083eeb2bbcd57f5414d71. A better fix is commit de0993097cad2fd5819f8bea5ff53cddce7cde41. This patch didn't properly describe the zOrder stuff anyway. The problem technically wasn't with the zOrder - the painting method only made it seem to be so.
Thanks to the reviewers for their helpful comments that spurred further areas of research.
Change-Id: I586edd189e5b0a25b6e1e64ca42fdf43305997da
Reviewed-on: https://gerrit.libreoffice.org/41904
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Justin Luth <justin_luth@sil.org>
-rw-r--r-- | sw/qa/extras/ooxmlexport/data/tdf111895_foregroundShape.docx | bin | 62173 -> 0 bytes | |||
-rw-r--r-- | sw/qa/extras/ooxmlexport/data/tdf111895_foregroundShape2.docx | bin | 60809 -> 0 bytes | |||
-rw-r--r-- | sw/qa/extras/ooxmlexport/ooxmlexport9.cxx | 16 | ||||
-rw-r--r-- | writerfilter/source/dmapper/DomainMapper.cxx | 5 | ||||
-rw-r--r-- | writerfilter/source/dmapper/DomainMapper.hxx | 1 | ||||
-rw-r--r-- | writerfilter/source/dmapper/GraphicImport.cxx | 16 |
6 files changed, 1 insertions, 37 deletions
diff --git a/sw/qa/extras/ooxmlexport/data/tdf111895_foregroundShape.docx b/sw/qa/extras/ooxmlexport/data/tdf111895_foregroundShape.docx Binary files differdeleted file mode 100644 index b282059b1097..000000000000 --- a/sw/qa/extras/ooxmlexport/data/tdf111895_foregroundShape.docx +++ /dev/null diff --git a/sw/qa/extras/ooxmlexport/data/tdf111895_foregroundShape2.docx b/sw/qa/extras/ooxmlexport/data/tdf111895_foregroundShape2.docx Binary files differdeleted file mode 100644 index ae2e3c7573db..000000000000 --- a/sw/qa/extras/ooxmlexport/data/tdf111895_foregroundShape2.docx +++ /dev/null diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport9.cxx b/sw/qa/extras/ooxmlexport/ooxmlexport9.cxx index 43639f622cac..930cbdc41b4f 100644 --- a/sw/qa/extras/ooxmlexport/ooxmlexport9.cxx +++ b/sw/qa/extras/ooxmlexport/ooxmlexport9.cxx @@ -230,22 +230,6 @@ DECLARE_OOXMLEXPORT_TEST(testTdf98700_keepWithNext, "tdf98700_keepWithNext.odt") CPPUNIT_ASSERT_EQUAL_MESSAGE("Text Body style toggled off keep with next", false, getProperty<bool>(getParagraph(5), "ParaKeepTogether")); } -DECLARE_OOXMLEXPORT_TEST(testTdf111895_foregroundShape, "tdf111895_foregroundShape.docx") -{ - uno::Reference<beans::XPropertySet> xPageStyle(getStyles("PageStyles")->getByName("Standard"), uno::UNO_QUERY); - CPPUNIT_ASSERT_EQUAL_MESSAGE("Light yellow background", sal_Int32(0xFFFF66), getProperty<sal_Int32>(xPageStyle, "BackColor")); - // despite a behindDoc==1, put shape in foreground since the page background would have hidden it otherwise. - CPPUNIT_ASSERT_EQUAL_MESSAGE("Shape is in front of page background", true, getProperty<bool>(getShape(1), "Opaque")); -} - -DECLARE_OOXMLEXPORT_TEST(testTdf111895_foregroundShape2, "tdf111895_foregroundShape2.docx") -{ - uno::Reference<beans::XPropertySet> xPageStyle(getStyles("PageStyles")->getByName("Standard"), uno::UNO_QUERY); - CPPUNIT_ASSERT_EQUAL_MESSAGE("Light yellow background", sal_Int32(0xFFFF66), getProperty<sal_Int32>(xPageStyle, "BackColor")); - // despite a page background, don't show behindDoc==1 shape in front since it would have hidden wrap_THROUGH text. - CPPUNIT_ASSERT_EQUAL_MESSAGE("Shape is in front of page background", false, getProperty<bool>(getShape(1), "Opaque")); -} - // base class to supply a helper method for testHFLinkToPrev class testHFBase : public Test { diff --git a/writerfilter/source/dmapper/DomainMapper.cxx b/writerfilter/source/dmapper/DomainMapper.cxx index 41decae20717..fc83d8d31af8 100644 --- a/writerfilter/source/dmapper/DomainMapper.cxx +++ b/writerfilter/source/dmapper/DomainMapper.cxx @@ -3778,11 +3778,6 @@ bool DomainMapper::IsStyleSheetImport() const return m_pImpl->IsStyleSheetImport(); } -bool DomainMapper::HasPageBackground() const -{ - return (bool)m_pImpl->m_oBackgroundColor; -} - void DomainMapper::enableInteropGrabBag(const OUString& aName) { m_pImpl->m_aInteropGrabBagName = aName; diff --git a/writerfilter/source/dmapper/DomainMapper.hxx b/writerfilter/source/dmapper/DomainMapper.hxx index 35a18b445c13..b2b89f1776c1 100644 --- a/writerfilter/source/dmapper/DomainMapper.hxx +++ b/writerfilter/source/dmapper/DomainMapper.hxx @@ -110,7 +110,6 @@ public: bool IsInHeaderFooter() const; bool IsInTable() const; bool IsStyleSheetImport() const; - bool HasPageBackground() const; /** @see DomainMapper_Impl::processDeferredCharacterProperties() */ diff --git a/writerfilter/source/dmapper/GraphicImport.cxx b/writerfilter/source/dmapper/GraphicImport.cxx index 68d7ac4a1738..65a20747c38f 100644 --- a/writerfilter/source/dmapper/GraphicImport.cxx +++ b/writerfilter/source/dmapper/GraphicImport.cxx @@ -197,7 +197,6 @@ public: text::WrapTextMode nWrap; bool bLayoutInCell; bool bOpaque; - bool bBehindDoc; bool bContour; bool bContourOutside; WrapPolygon::Pointer_t mpWrapPolygon; @@ -267,7 +266,6 @@ public: ,nWrap(text::WrapTextMode_NONE) ,bLayoutInCell(false) ,bOpaque( !rDMapper.IsInHeaderFooter() ) - ,bBehindDoc( false ) ,bContour(false) ,bContourOutside(true) ,nLeftMargin(319) @@ -367,10 +365,6 @@ public: GraphicZOrderHelper* pZOrderHelper = rDomainMapper.graphicZOrderHelper(); xGraphicObjectProperties->setPropertyValue(getPropertyName(PROP_Z_ORDER), uno::makeAny(pZOrderHelper->findZOrder(zOrder))); pZOrderHelper->addItem(xGraphicObjectProperties, zOrder); - - // use opaque setting unless it would hide text that should be in front of the shape. - const bool bPutInForeground = bOpaque && !(bBehindDoc && nWrap == text::WrapTextMode_THROUGH); - xGraphicObjectProperties->setPropertyValue(getPropertyName( PROP_OPAQUE ), uno::makeAny( bPutInForeground ) ); } } @@ -604,15 +598,7 @@ void GraphicImport::lcl_attribute(Id nName, Value& rValue) break; case NS_ooxml::LN_CT_Anchor_behindDoc: // 90989; - in background if( nIntValue > 0 ) - { - m_pImpl->bBehindDoc = true; - - // In MSO, page background is "in hell" zOrder, however - // in LO, page background is at the same zOrder as the text, - // so avoid hiding shapes behind the page background. - if( !m_pImpl->rDomainMapper.HasPageBackground() ) - m_pImpl->bOpaque = false; - } + m_pImpl->bOpaque = false; break; case NS_ooxml::LN_CT_Anchor_locked: // 90990; - ignored break; |