summaryrefslogtreecommitdiff
path: root/filter/source/svg/svgfilter.hxx
diff options
context:
space:
mode:
authorTamás Zolnai <tamas.zolnai@collabora.com>2018-12-14 17:50:18 +0100
committerTamás Zolnai <tamas.zolnai@collabora.com>2018-12-14 19:52:48 +0100
commitb052974a6574e4074794ffa590fe60f7c1726768 (patch)
treec6d03687cb870a4e034f7e6167565ceb19e4650b /filter/source/svg/svgfilter.hxx
parent68aef0a3df1dd4c83dc3c26e4d3280649f4d3265 (diff)
lok: Implement SVG export for Writer (SelectionOnly mode)
Separate generic code from Impress / Draw specific code and implement shape selection handling in case of Writer. This is an internal filter, so it can be called only from the code. Change-Id: I807e04a0949530d6029037bb964c10c80197ff33 Reviewed-on: https://gerrit.libreoffice.org/65174 Tested-by: Jenkins Reviewed-by: Tamás Zolnai <tamas.zolnai@collabora.com>
Diffstat (limited to 'filter/source/svg/svgfilter.hxx')
-rw-r--r--filter/source/svg/svgfilter.hxx42
1 files changed, 30 insertions, 12 deletions
diff --git a/filter/source/svg/svgfilter.hxx b/filter/source/svg/svgfilter.hxx
index 1b5254e25469..5a70c3c63679 100644
--- a/filter/source/svg/svgfilter.hxx
+++ b/filter/source/svg/svgfilter.hxx
@@ -192,31 +192,40 @@ public:
private:
+ /// Generally use members
+
Reference< XComponentContext > mxContext;
SvXMLElementExport* mpSVGDoc;
SVGExport* mpSVGExport;
SVGFontExport* mpSVGFontExport;
SVGActionWriter* mpSVGWriter;
- SdrPage* mpDefaultSdrPage;
- bool mbPresentation;
- bool mbSinglePage;
+ bool mbSinglePage;
sal_Int32 mnVisiblePage;
- PagePropertySet mVisiblePagePropSet;
- OUString msClipPathId;
- UCharSetMapMap mTextFieldCharSets;
- Reference< XInterface > mCreateOjectsCurrentMasterPage;
- UOStringMap mTextShapeIdListMap;
- MetaBitmapActionSet mEmbeddedBitmapActionSet;
- ObjectMap mEmbeddedBitmapActionMap;
ObjectMap* mpObjects;
Reference< XComponent > mxSrcDoc;
Reference< XComponent > mxDstDoc;
- Reference< css::drawing::XDrawPage > mxDefaultPage;
- Sequence< PropertyValue > maFilterData;
// #i124608# explicit ShapeSelection for export when export of the selection is wanted
Reference< css::drawing::XShapes > maShapeSelection;
bool mbExportShapeSelection;
+ Sequence< PropertyValue > maFilterData;
+ Reference< css::drawing::XDrawPage > mxDefaultPage;
std::vector< Reference< css::drawing::XDrawPage > > mSelectedPages;
+
+ bool mbWriterFilter;
+
+
+ /// Impress / draw only members
+
+ SdrPage* mpDefaultSdrPage;
+ SdrModel* mpSdrModel;
+ bool mbPresentation;
+ PagePropertySet mVisiblePagePropSet;
+ OUString msClipPathId;
+ UCharSetMapMap mTextFieldCharSets;
+ Reference< XInterface > mCreateOjectsCurrentMasterPage;
+ UOStringMap mTextShapeIdListMap;
+ MetaBitmapActionSet mEmbeddedBitmapActionSet;
+ ObjectMap mEmbeddedBitmapActionMap;
std::vector< Reference< css::drawing::XDrawPage > > mMasterPageTargets;
Link<EditFieldInfo*,void> maOldFieldHdl;
@@ -224,6 +233,8 @@ private:
/// @throws css::uno::RuntimeException
bool implExport( const Sequence< PropertyValue >& rDescriptor );
+ bool implExportImpressDraw( const Reference< XOutputStream >& rxOStm );
+ bool implExportWriter( const Reference< XOutputStream >& rxOStm );
static Reference< XWriter > implCreateExportDocumentHandler( const Reference< XOutputStream >& rxOStm );
void implGetPagePropSet( const Reference< css::drawing::XDrawPage > & rxPage );
@@ -235,6 +246,10 @@ private:
void implGenerateScript();
bool implExportDocument();
+ void implExportDocumentHeaderImpressDraw(sal_Int32 nDocX, sal_Int32 nDocY,
+ sal_Int32 nDocWidth, sal_Int32 nDocHeight);
+ void implExportDocumentHeaderWriter(sal_Int32 nDocX, sal_Int32 nDocY,
+ sal_Int32 nDocWidth, sal_Int32 nDocHeight);
void implExportAnimations();
bool implExportMasterPages( const std::vector< Reference< css::drawing::XDrawPage > >& rxPages,
@@ -266,6 +281,9 @@ private:
const Reference< XPropertySetInfo > & rxPropSetInfo );
DECL_LINK( CalcFieldHdl, EditFieldInfo*, void );
+ bool filterImpressDraw( const Sequence< PropertyValue >& rDescriptor );
+ bool filterWriter( const Sequence< PropertyValue >& rDescriptor );
+
protected:
// XFilter