summaryrefslogtreecommitdiff
path: root/sw/source/filter/ww8/docxsdrexport.hxx
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@collabora.co.uk>2014-01-06 20:53:52 +0100
committerMiklos Vajna <vmiklos@collabora.co.uk>2014-01-06 21:13:31 +0100
commitc0d5d26ad74cc7b6470d1e0c8951bee548c7ba17 (patch)
tree7c1131acc845611b58e0c396081acdd616c04e61 /sw/source/filter/ww8/docxsdrexport.hxx
parent9ca4e6e1940a22cf82cc492da6a3ce0b3d8e0e80 (diff)
DocxAttributeOutput: factor out writeVMLTextFrame() into DocxSdrExport
Given that DocxSdrExport doesn't know DocxAttributeOutput this requires also moving a number of data members into that class, which is probably also a good thing. Change-Id: I7e9c7def505e11e5e27a2bf86544d2b66d9b3f86
Diffstat (limited to 'sw/source/filter/ww8/docxsdrexport.hxx')
-rw-r--r--sw/source/filter/ww8/docxsdrexport.hxx33
1 files changed, 33 insertions, 0 deletions
diff --git a/sw/source/filter/ww8/docxsdrexport.hxx b/sw/source/filter/ww8/docxsdrexport.hxx
index 069a98c49237..70054b4c4117 100644
--- a/sw/source/filter/ww8/docxsdrexport.hxx
+++ b/sw/source/filter/ww8/docxsdrexport.hxx
@@ -24,10 +24,25 @@ class Size;
class Point;
class SdrObject;
+namespace sw
+{
+class Frame;
+}
class SwFrmFmt;
+class SwNode;
class DocxExport;
+/// Helper class, so that the DocxExport::RestoreData() call will always happen.
+class ExportDataSaveRestore
+{
+private:
+ DocxExport& m_rExport;
+public:
+ ExportDataSaveRestore(DocxExport& rExport, sal_uLong nStt, sal_uLong nEnd, sw::Frame* pParentFrame);
+ ~ExportDataSaveRestore();
+};
+
/// Handles DOCX export of drawings.
class DocxSdrExport
{
@@ -38,6 +53,20 @@ public:
~DocxSdrExport();
void setSerializer(sax_fastparser::FSHelperPtr pSerializer);
+ /// When exporting fly frames, this holds the real size of the frame.
+ const Size* getFlyFrameSize();
+ bool getTextFrameSyntax();
+ sax_fastparser::FastAttributeList*& getFlyAttrList();
+ void setFlyAttrList(sax_fastparser::FastAttributeList* pAttrList);
+ /// Attributes of the next v:textbox element.
+ sax_fastparser::FastAttributeList* getTextboxAttrList();
+ OStringBuffer& getTextFrameStyle();
+ /// Same, as DocxAttributeOutput::m_bBtLr, but for textframe rotation.
+ bool getFrameBtLr();
+ void setFrameBtLr(bool bFrameBtLr);
+ sax_fastparser::FastAttributeList*& getFlyFillAttrList();
+ sax_fastparser::FastAttributeList* getFlyWrapAttrList();
+ void setFlyWrapAttrList(sax_fastparser::FastAttributeList* pAttrList);
void startDMLAnchorInline(const SwFrmFmt* pFrmFmt, const Size& rSize);
void endDMLAnchorInline(const SwFrmFmt* pFrmFmt);
@@ -49,6 +78,10 @@ public:
void writeDiagram(const SdrObject* sdrObject, const Size& size);
/// Write <a:effectLst>, the effect list.
void writeDMLEffectLst(const SwFrmFmt& rFrmFmt);
+ /// Writes text frame in VML format.
+ void writeVMLTextFrame(sw::Frame* pParentFrame);
+ /// 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, sax_fastparser::FastAttributeList* pBodyPrAttrList = 0);
};
#endif // INCLUDED_SW_SOURCE_FILTER_WW8_DOCXSDREXPORT_HXX