diff options
author | Tamás Zolnai <tamas.zolnai@collabora.com> | 2018-12-14 17:50:18 +0100 |
---|---|---|
committer | Tamás Zolnai <tamas.zolnai@collabora.com> | 2018-12-14 19:52:48 +0100 |
commit | b052974a6574e4074794ffa590fe60f7c1726768 (patch) | |
tree | c6d03687cb870a4e034f7e6167565ceb19e4650b /filter/source/svg/svgfilter.hxx | |
parent | 68aef0a3df1dd4c83dc3c26e4d3280649f4d3265 (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.hxx | 42 |
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 |