diff options
author | Marco Cecchetti <marco.cecchetti@collabora.com> | 2021-01-22 19:31:26 +0100 |
---|---|---|
committer | Andras Timar <andras.timar@collabora.com> | 2021-03-06 21:58:48 +0100 |
commit | 3d008f3bcd19a74cff0781cbd9a3d173892553cf (patch) | |
tree | 0408f4f3cb98675d15571c65ab5eb94b52f3031f /filter/source/svg/svgwriter.hxx | |
parent | cc3b9c0bcc4a379efb99b273c426a5ecb2214d0f (diff) |
filter: svg: js engine: support for bitmaps in slide background
When a slide background includes one or more bitmaps, they are
exported only once.
This avoid to export the same bitmap more than once when it is
embedded in several backgound slides and to export only one bitmap for
the tile style.
Change-Id: Ia5b75f7805541486b76a81f86907e88ed9d4764a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109835
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Marco Cecchetti <marco.cecchetti@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111842
Tested-by: Jenkins
Reviewed-by: Andras Timar <andras.timar@collabora.com>
Diffstat (limited to 'filter/source/svg/svgwriter.hxx')
-rw-r--r-- | filter/source/svg/svgwriter.hxx | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/filter/source/svg/svgwriter.hxx b/filter/source/svg/svgwriter.hxx index b7d03d3ee8c6..1fa351f10382 100644 --- a/filter/source/svg/svgwriter.hxx +++ b/filter/source/svg/svgwriter.hxx @@ -57,6 +57,8 @@ using namespace ::com::sun::star::xml::sax; #define SVGWRITER_WRITE_TEXT 0x00000002 #define SVGWRITER_NO_SHAPE_COMMENTS 0x01000000 +// This must match the same type definition in svgexport.hxx +typedef std::unordered_map< BitmapChecksum, std::unique_ptr< GDIMetaFile > > MetaBitmapActionMap; struct SVGState { @@ -315,6 +317,7 @@ private: MapMode maTargetMapMode; bool mbClipAttrChanged; bool mbIsPlaceholderShape; + const MetaBitmapActionMap* mpEmbeddedBitmapsMap; tools::Long ImplMap( sal_Int32 nVal ) const; @@ -370,6 +373,8 @@ public: const OUString* pElementId = nullptr, const Reference< css::drawing::XShape >* pXShape = nullptr, const GDIMetaFile* pTextEmbeddedBitmapMtf = nullptr ); + + void SetEmbeddedBitmapRefs( const MetaBitmapActionMap* pEmbeddedBitmapsMap ); void StartMask(const Point& rDestPt, const Size& rDestSize, const Gradient& rGradient, sal_uInt32 nWriteFlags, OUString* pTextStyle = nullptr); }; |