summaryrefslogtreecommitdiff
path: root/oox/inc
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@suse.cz>2012-08-13 17:36:50 +0200
committerMiklos Vajna <vmiklos@suse.cz>2012-08-13 17:42:54 +0200
commit7fd28f4de77d12acb68a6b7f5fb578fedd8b76bb (patch)
tree8a691aea20043c377577dc8b99652fadba542e35 /oox/inc
parent2dbd722b93578fc722e13f72144c78ee3e5e1246 (diff)
fdo#53113 oox::VMLExport: allow a callback to be registered for shape text
Change-Id: I1df58fa067287a37b0f62b0b05b0567da73d03b0
Diffstat (limited to 'oox/inc')
-rw-r--r--oox/inc/oox/export/vmlexport.hxx21
1 files changed, 19 insertions, 2 deletions
diff --git a/oox/inc/oox/export/vmlexport.hxx b/oox/inc/oox/export/vmlexport.hxx
index 6685f0934898..ec5a4d9baef9 100644
--- a/oox/inc/oox/export/vmlexport.hxx
+++ b/oox/inc/oox/export/vmlexport.hxx
@@ -23,6 +23,7 @@
#include <oox/dllapi.h>
#include <sax/fshelper.hxx>
#include <filter/msfilter/escherex.hxx>
+#include <editeng/outlobj.hxx>
namespace rtl {
class OString;
@@ -33,11 +34,27 @@ namespace oox {
namespace vml {
+/// Interface to be implemented by the parent exporter that knows how to handle shape text.
+class OOX_DLLPUBLIC VMLTextExport
+{
+public:
+ virtual void WriteOutliner(const OutlinerParaObject& rParaObj) = 0;
+protected:
+ VMLTextExport() {}
+ virtual ~VMLTextExport() {}
+};
+
class OOX_DLLPUBLIC VMLExport : public EscherEx
{
/// Fast serializer to output the data
::sax_fastparser::FSHelperPtr m_pSerializer;
+ /// Parent exporter, used for text callback.
+ VMLTextExport* m_pTextExport;
+
+ /// The object we're exporting.
+ const SdrObject* m_pSdrObject;
+
/// Fill the shape attributes as they come.
::sax_fastparser::FastAttributeList *m_pShapeAttrList;
@@ -54,7 +71,7 @@ class OOX_DLLPUBLIC VMLExport : public EscherEx
bool *m_pShapeTypeWritten;
public:
- VMLExport( ::sax_fastparser::FSHelperPtr pSerializer );
+ VMLExport( ::sax_fastparser::FSHelperPtr pSerializer, VMLTextExport* pTextExport = 0 );
virtual ~VMLExport();
::sax_fastparser::FSHelperPtr
@@ -63,7 +80,7 @@ public:
/// Export the sdr object as VML.
///
/// Call this when you need to export the object as VML.
- using EscherEx::AddSdrObject;
+ sal_uInt32 AddSdrObject( const SdrObject& rObj );
protected:
/// Add an attribute to the generated <v:shape/> element.