summaryrefslogtreecommitdiff
path: root/writerperfect/source/writer/exp/xmlimp.hxx
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@collabora.co.uk>2017-12-01 10:58:05 +0100
committerMiklos Vajna <vmiklos@collabora.co.uk>2017-12-04 09:06:56 +0100
commit3ed8466b55ace15a28761e06b6bb76ebd8758106 (patch)
tree15ef97033abe22882a78ea7c795b5df95362033d /writerperfect/source/writer/exp/xmlimp.hxx
parentd1e2205c6ec1b6e4c36192acc2e5b344e2ccc70d (diff)
EPUB export, fixed layout: switch to a metafile-based approach
Trying to guess layout from flat ODF output is an approach that doesn't scale, think of complex documents with split tables, etc. Do it similar to the PDF export instead: take a metafile of each page and use the existing SVG writer to embed it into XHTML. Change-Id: I6e860834beb8025519d3e367f858077ae9e9c006 Reviewed-on: https://gerrit.libreoffice.org/45647 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Diffstat (limited to 'writerperfect/source/writer/exp/xmlimp.hxx')
-rw-r--r--writerperfect/source/writer/exp/xmlimp.hxx7
1 files changed, 6 insertions, 1 deletions
diff --git a/writerperfect/source/writer/exp/xmlimp.hxx b/writerperfect/source/writer/exp/xmlimp.hxx
index aeec06bde727..c5a84852603b 100644
--- a/writerperfect/source/writer/exp/xmlimp.hxx
+++ b/writerperfect/source/writer/exp/xmlimp.hxx
@@ -12,6 +12,7 @@
#include <map>
#include <stack>
+#include <vector>
#include <librevenge/librevenge.h>
@@ -22,6 +23,7 @@
#include <cppuhelper/implbase.hxx>
#include <rtl/ref.hxx>
+#include <tools/gen.hxx>
namespace writerperfect
{
@@ -61,9 +63,10 @@ class XMLImport : public cppu::WeakImplHelper
css::uno::Reference<css::uri::XUriReferenceFactory> mxUriReferenceFactory;
OUString maMediaDir;
bool mbPageSpanOpened = false;
+ const std::vector<std::pair<css::uno::Sequence<sal_Int8>, Size>> &mrPageMetafiles;
public:
- XMLImport(const css::uno::Reference<css::uno::XComponentContext> &xContext, librevenge::RVNGTextInterface &rGenerator, const OUString &rURL, const css::uno::Sequence<css::beans::PropertyValue> &rDescriptor);
+ XMLImport(const css::uno::Reference<css::uno::XComponentContext> &xContext, librevenge::RVNGTextInterface &rGenerator, const OUString &rURL, const css::uno::Sequence<css::beans::PropertyValue> &rDescriptor, const std::vector<std::pair<css::uno::Sequence<sal_Int8>, Size>> &rPageMetafiles);
rtl::Reference<XMLImportContext> CreateContext(const OUString &rName, const css::uno::Reference<css::xml::sax::XAttributeList> &xAttribs);
@@ -89,6 +92,8 @@ public:
bool FillPopupData(const OUString &rURL, librevenge::RVNGPropertyList &rPropList);
void SetPageSpanOpened(bool bPageSpanOpened);
bool IsPageSpanOpened() const;
+ const std::vector<std::pair<css::uno::Sequence<sal_Int8>, Size>> &GetPageMetafiles() const;
+ const css::uno::Reference<css::uno::XComponentContext> &GetComponentContext() const;
// XDocumentHandler
void SAL_CALL startDocument() override;