diff options
author | Miklos Vajna <vmiklos@collabora.co.uk> | 2015-04-24 09:01:10 +0200 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.co.uk> | 2015-04-24 09:02:00 +0200 |
commit | 0ffbbe0694fe7d817f4c120a79ce28d77fcbe958 (patch) | |
tree | b55c4e2c47ac61f4e45835d9f204147985237b39 | |
parent | a1c01c510c9fbc6e2be9f4b9db12c3493939942a (diff) |
checkFrameBtlr() can be moved to DocxSdrExport::Impl
Change-Id: Ia5d04e3a7a56880f91c442b1b0dd73e5c7bcc0e5
-rw-r--r-- | sw/source/filter/ww8/docxsdrexport.cxx | 21 | ||||
-rw-r--r-- | sw/source/filter/ww8/docxsdrexport.hxx | 2 |
2 files changed, 13 insertions, 10 deletions
diff --git a/sw/source/filter/ww8/docxsdrexport.cxx b/sw/source/filter/ww8/docxsdrexport.cxx index 7c191c0a4d99..00b250c92902 100644 --- a/sw/source/filter/ww8/docxsdrexport.cxx +++ b/sw/source/filter/ww8/docxsdrexport.cxx @@ -185,6 +185,8 @@ struct DocxSdrExport::Impl void textFrameShadow(const SwFrmFmt& rFrmFmt); bool isSupportedDMLShape(uno::Reference<drawing::XShape> xShape); + /// Undo the text direction mangling done by the frame btLr handler in writerfilter::dmapper::DomainMapper::lcl_startCharacterGroup() + bool checkFrameBtlr(SwNode* pStartNode, bool bDML); }; DocxSdrExport::DocxSdrExport(DocxExport& rExport, sax_fastparser::FSHelperPtr pSerializer, oox::drawingml::DrawingML* pDrawingML) @@ -1296,7 +1298,7 @@ void DocxSdrExport::writeOnlyTextOfFrame(sw::Frame* pParentFrame) ExportDataSaveRestore aDataGuard(m_pImpl->m_rExport, nStt, nEnd, pParentFrame); m_pImpl->m_pBodyPrAttrList = sax_fastparser::FastSerializerHelper::createAttrList(); - m_pImpl->m_bFrameBtLr = checkFrameBtlr(m_pImpl->m_rExport.pDoc->GetNodes()[nStt], 0); + m_pImpl->m_bFrameBtLr = m_pImpl->checkFrameBtlr(m_pImpl->m_rExport.pDoc->GetNodes()[nStt], /*bDML=*/true); m_pImpl->m_bFlyFrameGraphic = true; m_pImpl->m_rExport.WriteText(); m_pImpl->m_bFlyFrameGraphic = false; @@ -1530,7 +1532,7 @@ void DocxSdrExport::writeDMLTextFrame(sw::Frame* pParentFrame, int nAnchorId, bo pFS->startElementNS(XML_w, XML_txbxContent, FSEND); - m_pImpl->m_bFrameBtLr = checkFrameBtlr(m_pImpl->m_rExport.pDoc->GetNodes()[nStt], 0); + m_pImpl->m_bFrameBtLr = m_pImpl->checkFrameBtlr(m_pImpl->m_rExport.pDoc->GetNodes()[nStt], /*bDML=*/true); m_pImpl->m_bFlyFrameGraphic = true; m_pImpl->m_rExport.WriteText(); if (m_pImpl->m_bParagraphSdtOpen) @@ -1625,7 +1627,7 @@ void DocxSdrExport::writeVMLTextFrame(sw::Frame* pParentFrame, bool bTextBoxOnly m_pImpl->m_pFlyAttrList->addNS(XML_w14, XML_anchorId, OUStringToOString(sAnchorId, RTL_TEXTENCODING_UTF8)); } sax_fastparser::XFastAttributeListRef xFlyAttrList(m_pImpl->m_pFlyAttrList.release()); - m_pImpl->m_bFrameBtLr = checkFrameBtlr(m_pImpl->m_rExport.pDoc->GetNodes()[nStt], m_pImpl->m_pTextboxAttrList); + m_pImpl->m_bFrameBtLr = m_pImpl->checkFrameBtlr(m_pImpl->m_rExport.pDoc->GetNodes()[nStt], /*bDML=*/false); sax_fastparser::XFastAttributeListRef xTextboxAttrList(m_pImpl->m_pTextboxAttrList); m_pImpl->m_pTextboxAttrList = NULL; m_pImpl->m_bTextFrameSyntax = false; @@ -1678,10 +1680,13 @@ void DocxSdrExport::writeVMLTextFrame(sw::Frame* pParentFrame, bool bTextBoxOnly m_pImpl->m_bDMLAndVMLDrawingOpen = bDMLAndVMLDrawingOpen; } -bool DocxSdrExport::checkFrameBtlr(SwNode* pStartNode, sax_fastparser::FastAttributeList* pTextboxAttrList) +bool DocxSdrExport::Impl::checkFrameBtlr(SwNode* pStartNode, bool bDML) { // The intended usage is to pass either a valid VML or DML attribute list. - assert(pTextboxAttrList || m_pImpl->m_pBodyPrAttrList); + if (bDML) + assert(m_pBodyPrAttrList); + else + assert(m_pTextboxAttrList); if (!pStartNode->IsTxtNode()) return false; @@ -1715,10 +1720,10 @@ bool DocxSdrExport::checkFrameBtlr(SwNode* pStartNode, sax_fastparser::FastAttri const SvxCharRotateItem& rCharRotate = static_cast<const SvxCharRotateItem&>(*pItem); if (rCharRotate.GetValue() == 900) { - if (pTextboxAttrList) - pTextboxAttrList->add(XML_style, "mso-layout-flow-alt:bottom-to-top"); + if (bDML) + m_pBodyPrAttrList->add(XML_vert, "vert270"); else - m_pImpl->m_pBodyPrAttrList->add(XML_vert, "vert270"); + m_pTextboxAttrList->add(XML_style, "mso-layout-flow-alt:bottom-to-top"); return true; } } diff --git a/sw/source/filter/ww8/docxsdrexport.hxx b/sw/source/filter/ww8/docxsdrexport.hxx index 1ff940421b31..cbdd1008c0f4 100644 --- a/sw/source/filter/ww8/docxsdrexport.hxx +++ b/sw/source/filter/ww8/docxsdrexport.hxx @@ -103,8 +103,6 @@ public: void writeDMLTextFrame(sw::Frame* pParentFrame, int nAnchorId, bool bTextBoxOnly = false); /// Writes text frame in VML format. void writeVMLTextFrame(sw::Frame* pParentFrame, bool bTextBoxOnly = false); - /// Undo the text direction mangling done by the frame btLr handler in writerfilter::dmapper::DomainMapper::lcl_startCharacterGroup() - bool checkFrameBtlr(SwNode* pStartNode, sax_fastparser::FastAttributeList* pTextboxAttrList = 0); /// Is this a standalone TextFrame, or used as a TextBox of a shape? bool isTextBox(const SwFrmFmt& rFrmFmt); /// Writes text from Textbox for <w:framePr> |