LibreOffice Module filter (master) 1
svgfilter.hxx
Go to the documentation of this file.
1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2/*
3 * This file is part of the LibreOffice project.
4 *
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 *
9 * This file incorporates work covered by the following license notice:
10 *
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
18 */
19
20#pragma once
21
22#include <memory>
23
24#include <com/sun/star/document/XFilter.hpp>
25#include <com/sun/star/document/XImporter.hpp>
26#include <com/sun/star/document/XExporter.hpp>
27#include <com/sun/star/document/XExtendedFilterDetection.hpp>
28#include <com/sun/star/beans/XPropertySet.hpp>
29#include <com/sun/star/lang/XComponent.hpp>
30#include <com/sun/star/lang/XServiceInfo.hpp>
32#include <com/sun/star/xml/sax/XWriter.hpp>
33#include <com/sun/star/view/XSelectionSupplier.hpp>
34
35#include <editeng/flditem.hxx>
36#include <vcl/gdimtf.hxx>
37#include <vcl/svapp.hxx>
38#include <svx/unoapi.hxx>
39#include <xmloff/xmlexp.hxx>
40#include <cstdio>
41#include <string_view>
42#include <unordered_set>
43#include <unordered_map>
44
45using namespace ::com::sun::star::beans;
46using namespace ::com::sun::star::document;
47using namespace ::com::sun::star::io;
48using namespace ::com::sun::star::lang;
49using namespace ::com::sun::star::uno;
50using namespace ::com::sun::star;
51using namespace ::com::sun::star::xml::sax;
52
53#define SVG_EXPORT_ALLPAGES ((sal_Int32)-1)
54
55
56// Placeholder tag used into the ImplWriteActions method to filter text placeholder fields
57inline constexpr OUStringLiteral sPlaceholderTag = u"<[:isPlaceholder:]>";
58// This tag is used for exporting a slide background made of tiled bitmaps
59inline constexpr OStringLiteral sTiledBackgroundTag = "SLIDE_BACKGROUND";
60
61class SVGExport : public SvXMLExport
62{
69 std::set<sal_Unicode> maEmbeddedBulletGlyphs;
70
71public:
72
73 SVGExport( const css::uno::Reference< css::uno::XComponentContext >& rContext,
74 const Reference< XDocumentHandler >& rxHandler,
75 const Sequence< PropertyValue >& rFilterData );
76
77 virtual ~SVGExport() override;
78
79 bool IsUseTinyProfile() const { return mbIsUseTinyProfile; };
80 bool IsUseDTDString() const { return mbIsUseDTDString; };
81 bool IsEmbedFonts() const { return mbIsEmbedFonts; };
82 bool IsUseOpacity() const { return mbIsUseOpacity; };
85
86 void writeMtf( const GDIMetaFile& rMtf );
87
89 bool IsEmbeddedBulletGlyph(sal_Unicode cBullet) const;
90
91protected:
92
93 virtual void ExportStyles_( bool /* bUsed */ ) override {}
94 virtual void ExportAutoStyles_() override {}
95 virtual void ExportContent_() override {}
96 virtual void ExportMasterStyles_() override {}
97 virtual ErrCode exportDoc( enum ::xmloff::token::XMLTokenEnum /* eClass */ ) override { return ERRCODE_NONE; }
98};
99
101{
102private:
103
104 Reference< XInterface > mxObject;
105 std::unique_ptr<GDIMetaFile> mxMtf;
106
107public:
109 ObjectRepresentation(const Reference< XInterface >& rxIf,
110 const GDIMetaFile& rMtf);
111 ObjectRepresentation(const ObjectRepresentation& rPresentation);
112
114
115 const Reference< XInterface >& GetObject() const { return mxObject; }
116 bool HasRepresentation() const { return static_cast<bool>(mxMtf); }
117 const GDIMetaFile& GetRepresentation() const { return *mxMtf; }
118};
119
121{
132 : bIsBackgroundVisible(false)
136 , bIsFooterFieldVisible(false)
137 , bIsHeaderFieldVisible(false)
139 , bIsDateTimeFieldFixed(false)
141 {
142 }
143};
144
146{
147 size_t operator()( const sal_Unicode uchar ) const { return static_cast< size_t >( uchar ); }
148};
149
151{
152 size_t operator()( const ObjectRepresentation& rObjRep ) const;
153};
154
156{
157 bool operator()( const ObjectRepresentation& rObjRep1,
158 const ObjectRepresentation& rObjRep2 ) const;
159};
160
161// This must match the same type definition in svgwriter.hxx
162typedef std::unordered_map< BitmapChecksum, std::unique_ptr< GDIMetaFile > > MetaBitmapActionMap;
163
165{
170};
171typedef std::map<OUString, PatternData> PatternPropertySet;
172
173class SVGFontExport;
174class SVGActionWriter;
175class EditFieldInfo;
176
177class SVGFilter : public cppu::WeakImplHelper < XFilter,
178 XImporter,
179 XExporter,
180 XExtendedFilterDetection, XServiceInfo >
181{
182public:
183 typedef std::unordered_map< Reference< XInterface >, ObjectRepresentation > ObjectMap;
184 typedef std::unordered_set< Reference< XInterface > > ObjectSet;
185
186 typedef std::unordered_set< sal_Unicode, HashUChar > UCharSet;
187 typedef std::unordered_map< OUString, UCharSet > UCharSetMap;
188 typedef std::unordered_map< Reference< XInterface >, UCharSetMap > UCharSetMapMap;
189
190 typedef std::unordered_set< ObjectRepresentation, HashBitmap, EqualityBitmap > MetaBitmapActionSet;
191
192private:
193
195
196 Reference< XComponentContext > mxContext;
202 sal_Int32 mnVisiblePage;
204 Reference< XComponent > mxSrcDoc;
205 Reference< XComponent > mxDstDoc;
206 // #i124608# explicit ShapeSelection for export when export of the selection is wanted
207 Reference< css::drawing::XShapes > maShapeSelection;
209 Sequence< PropertyValue > maFilterData;
210 Reference< css::drawing::XDrawPage > mxDefaultPage;
211 std::vector< Reference< css::drawing::XDrawPage > > mSelectedPages;
214
218
219
221
225 OUString msClipPathId;
227 Reference< XInterface > mCreateOjectsCurrentMasterPage;
228 std::unordered_map< Reference< XInterface >, OUString >
234 std::vector< Reference< css::drawing::XDrawPage > > mMasterPageTargets;
235
238
240 bool implExport( const Sequence< PropertyValue >& rDescriptor );
241 bool implExportImpressOrDraw( const Reference< XOutputStream >& rxOStm );
242 bool implExportWriterOrCalc( const Reference< XOutputStream >& rxOStm );
243 bool implExportWriterTextGraphic( const Reference< view::XSelectionSupplier >& xSelectionSupplier );
244
245 static Reference< XWriter > implCreateExportDocumentHandler( const Reference< XOutputStream >& rxOStm );
246
247 void implGetPagePropSet( const Reference< css::drawing::XDrawPage > & rxPage );
251 void implEmbedBulletGlyph( sal_Unicode cBullet, const OUString & sPathData );
255 void implGenerateScript();
256
257 bool implExportDocument();
258 void implExportDocumentHeaderImpressOrDraw(sal_Int32 nDocX, sal_Int32 nDocY,
259 sal_Int32 nDocWidth, sal_Int32 nDocHeight);
260 void implExportDocumentHeaderWriterOrCalc(sal_Int32 nDocX, sal_Int32 nDocY,
261 sal_Int32 nDocWidth, sal_Int32 nDocHeight);
263
264 bool implExportMasterPages( const std::vector< Reference< css::drawing::XDrawPage > >& rxPages,
265 sal_Int32 nFirstPage, sal_Int32 nLastPage );
266 void implExportDrawPages( const std::vector< Reference< css::drawing::XDrawPage > >& rxPages,
267 sal_Int32 nFirstPage, sal_Int32 nLastPage );
268 bool implExportPage( std::u16string_view sPageId,
269 const Reference< css::drawing::XDrawPage > & rxPage,
270 const Reference< css::drawing::XShapes > & xShapes,
271 bool bMaster );
272
273 bool implExportShapes( const Reference< css::drawing::XShapes >& rxShapes,
274 bool bMaster );
275 bool implExportShape( const Reference< css::drawing::XShape >& rxShape,
276 bool bMaster );
277
278 bool implCreateObjects();
279 bool implCreateObjectsFromShapes( const Reference< css::drawing::XDrawPage > & rxPage, const Reference< css::drawing::XShapes >& rxShapes );
280 bool implCreateObjectsFromShape( const Reference< css::drawing::XDrawPage > & rxPage, const Reference< css::drawing::XShape >& rxShape );
281 void implCreateObjectsFromBackground( const Reference< css::drawing::XDrawPage >& rxMasterPage );
282
283 static OUString implGetClassFromShape( const Reference< css::drawing::XShape >& rxShape );
284 void implRegisterInterface( const Reference< XInterface >& rxIf );
285 const OUString & implGetValidIDFromInterface( const Reference< XInterface >& rxIf );
286 static OUString implGetInterfaceName( const Reference< XInterface >& rxIf );
288 static Any implSafeGetPagePropSet( const OUString & sPropertyName,
289 const Reference< XPropertySet > & rxPropSet,
290 const Reference< XPropertySetInfo > & rxPropSetInfo );
291 DECL_LINK( CalcFieldHdl, EditFieldInfo*, void );
292
293 bool filterImpressOrDraw( const Sequence< PropertyValue >& rDescriptor );
294 bool filterWriterOrCalc( const Sequence< PropertyValue >& rDescriptor );
295
296protected:
297
298 // XFilter
299 virtual sal_Bool SAL_CALL filter( const Sequence< PropertyValue >& rDescriptor ) override;
300 virtual void SAL_CALL cancel( ) override;
301
302 // XImporter
303 virtual void SAL_CALL setTargetDocument( const Reference< XComponent >& xDoc ) override;
304
305 // XExporter
306 virtual void SAL_CALL setSourceDocument( const Reference< XComponent >& xDoc ) override;
307
308 // XExtendedFilterDetection
309 virtual OUString SAL_CALL detect( Sequence< PropertyValue >& io_rDescriptor ) override;
310
311public:
312
313 explicit SVGFilter( const Reference< XComponentContext >& rxCtx );
314 virtual ~SVGFilter() override;
315
316 // XServiceInfo
317 virtual sal_Bool SAL_CALL supportsService(const OUString& sServiceName) override;
318 virtual OUString SAL_CALL getImplementationName() override;
319 virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override;
320};
321
322/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
sal_uInt64 BitmapChecksum
const Reference< XInterface > & GetObject() const
Definition: svgfilter.hxx:115
std::unique_ptr< GDIMetaFile > mxMtf
Definition: svgfilter.hxx:105
Reference< XInterface > mxObject
Definition: svgfilter.hxx:104
bool HasRepresentation() const
Definition: svgfilter.hxx:116
const GDIMetaFile & GetRepresentation() const
Definition: svgfilter.hxx:117
ObjectRepresentation & operator=(const ObjectRepresentation &rPresentation)
Definition: svgexport.cxx:420
virtual ~SVGExport() override
Definition: svgexport.cxx:398
bool IsEmbedFonts() const
Definition: svgfilter.hxx:81
bool mbIsUseOpacity
Definition: svgfilter.hxx:66
std::set< sal_Unicode > maEmbeddedBulletGlyphs
Definition: svgfilter.hxx:69
bool IsUseNativeTextDecoration() const
Definition: svgfilter.hxx:83
virtual void ExportMasterStyles_() override
Definition: svgfilter.hxx:96
void writeMtf(const GDIMetaFile &rMtf)
Definition: svgexport.cxx:2874
bool mbIsUseTinyProfile
Definition: svgfilter.hxx:63
bool IsUseTinyProfile() const
Definition: svgfilter.hxx:79
virtual void ExportStyles_(bool) override
Definition: svgfilter.hxx:93
bool IsUseOpacity() const
Definition: svgfilter.hxx:82
virtual void ExportAutoStyles_() override
Definition: svgfilter.hxx:94
virtual void ExportContent_() override
Definition: svgfilter.hxx:95
bool mbIsUseNativeTextDecoration
Definition: svgfilter.hxx:67
void SetEmbeddedBulletGlyph(sal_Unicode cBullet)
Definition: svgexport.cxx:2922
bool mbIsUsePositionedCharacters
Definition: svgfilter.hxx:68
bool mbIsUseDTDString
Definition: svgfilter.hxx:64
bool mbIsEmbedFonts
Definition: svgfilter.hxx:65
SVGExport(const css::uno::Reference< css::uno::XComponentContext > &rContext, const Reference< XDocumentHandler > &rxHandler, const Sequence< PropertyValue > &rFilterData)
Definition: svgexport.cxx:333
virtual ErrCode exportDoc(enum ::xmloff::token::XMLTokenEnum) override
Definition: svgfilter.hxx:97
bool IsEmbeddedBulletGlyph(sal_Unicode cBullet) const
Definition: svgexport.cxx:2927
bool IsUseDTDString() const
Definition: svgfilter.hxx:80
bool IsUsePositionedCharacters() const
Definition: svgfilter.hxx:84
bool filterImpressOrDraw(const Sequence< PropertyValue > &rDescriptor)
Definition: svgfilter.cxx:152
bool implCreateObjects()
Definition: svgexport.cxx:2298
bool mbShouldCompress
Definition: svgfilter.hxx:213
void implGetPagePropSet(const Reference< css::drawing::XDrawPage > &rxPage)
We collect info on master page elements visibility, and placeholder text shape content.
Definition: svgexport.cxx:1787
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override
Definition: svgfilter.cxx:837
SVGFontExport * mpSVGFontExport
Definition: svgfilter.hxx:199
MetaBitmapActionMap maBitmapActionMap
Definition: svgfilter.hxx:232
void implExportTiledBackground()
Definition: svgexport.cxx:1613
bool mbWriterFilter
Definition: svgfilter.hxx:215
bool implCreateObjectsFromShapes(const Reference< css::drawing::XDrawPage > &rxPage, const Reference< css::drawing::XShapes > &rxShapes)
Definition: svgexport.cxx:2362
UCharSetMapMap mTextFieldCharSets
Definition: svgfilter.hxx:226
bool implExportImpressOrDraw(const Reference< XOutputStream > &rxOStm)
Definition: svgexport.cxx:664
const OUString & implGetValidIDFromInterface(const Reference< XInterface > &rxIf)
Definition: svgexport.cxx:2673
void implEmbedBulletGlyphs()
Definition: svgexport.cxx:1542
void implExportBackgroundBitmaps()
Definition: svgexport.cxx:1587
void implExportTextShapeIndex()
Definition: svgexport.cxx:1514
bool filterWriterOrCalc(const Sequence< PropertyValue > &rDescriptor)
Definition: svgfilter.cxx:548
virtual void SAL_CALL cancel() override
Definition: svgfilter.cxx:599
bool mbSinglePage
Definition: svgfilter.hxx:201
Link< EditFieldInfo *, void > maOldFieldHdl
Definition: svgfilter.hxx:236
OUString msClipPathId
Definition: svgfilter.hxx:225
sal_Int32 mnVisiblePage
Definition: svgfilter.hxx:202
SVGActionWriter * mpSVGWriter
Definition: svgfilter.hxx:200
std::vector< Reference< css::drawing::XDrawPage > > mMasterPageTargets
Definition: svgfilter.hxx:234
bool implExportPage(std::u16string_view sPageId, const Reference< css::drawing::XDrawPage > &rxPage, const Reference< css::drawing::XShapes > &xShapes, bool bMaster)
Definition: svgexport.cxx:1982
virtual void SAL_CALL setTargetDocument(const Reference< XComponent > &xDoc) override
Definition: svgfilter.cxx:608
void implExportDocumentHeaderImpressOrDraw(sal_Int32 nDocX, sal_Int32 nDocY, sal_Int32 nDocWidth, sal_Int32 nDocHeight)
Definition: svgexport.cxx:1056
MetaBitmapActionSet mEmbeddedBitmapActionSet
Definition: svgfilter.hxx:230
void implExportDocumentHeaderWriterOrCalc(sal_Int32 nDocX, sal_Int32 nDocY, sal_Int32 nDocWidth, sal_Int32 nDocHeight)
Definition: svgexport.cxx:1150
SVGFilter(const Reference< XComponentContext > &rxCtx)
Definition: svgfilter.cxx:71
bool implExport(const Sequence< PropertyValue > &rDescriptor)
Definition: svgexport.cxx:629
virtual void SAL_CALL setSourceDocument(const Reference< XComponent > &xDoc) override
Definition: svgfilter.cxx:603
SvXMLElementExport * mpSVGDoc
Definition: svgfilter.hxx:197
std::unordered_map< Reference< XInterface >, ObjectRepresentation > ObjectMap
Definition: svgfilter.hxx:183
bool implExportShape(const Reference< css::drawing::XShape > &rxShape, bool bMaster)
Definition: svgexport.cxx:2112
static Reference< XWriter > implCreateExportDocumentHandler(const Reference< XOutputStream > &rxOStm)
Definition: svgexport.cxx:886
void implEmbedBulletGlyph(sal_Unicode cBullet, const OUString &sPathData)
Definition: svgexport.cxx:1570
virtual ~SVGFilter() override
Definition: svgfilter.cxx:90
DECL_LINK(CalcFieldHdl, EditFieldInfo *, void)
bool implExportShapes(const Reference< css::drawing::XShapes > &rxShapes, bool bMaster)
Definition: svgexport.cxx:2095
bool implExportWriterTextGraphic(const Reference< view::XSelectionSupplier > &xSelectionSupplier)
Definition: svgexport.cxx:828
ObjectMap * mpObjects
Definition: svgfilter.hxx:203
bool mbExportShapeSelection
Definition: svgfilter.hxx:208
PagePropertySet mVisiblePagePropSet
Definition: svgfilter.hxx:224
bool implCreateObjectsFromShape(const Reference< css::drawing::XDrawPage > &rxPage, const Reference< css::drawing::XShape > &rxShape)
Definition: svgexport.cxx:2379
bool mbPresentation
Definition: svgfilter.hxx:223
void implRegisterInterface(const Reference< XInterface > &rxIf)
Definition: svgexport.cxx:2666
virtual OUString SAL_CALL detect(Sequence< PropertyValue > &io_rDescriptor) override
Definition: svgfilter.cxx:788
virtual OUString SAL_CALL getImplementationName() override
Definition: svgfilter.cxx:833
static OUString implGetClassFromShape(const Reference< css::drawing::XShape > &rxShape)
Definition: svgexport.cxx:2634
bool implExportDocument()
Definition: svgexport.cxx:934
void implExportTextEmbeddedBitmaps()
SVGFilter::implExportTextEmbeddedBitmaps We export bitmaps embedded into text shapes,...
Definition: svgexport.cxx:1688
SdrPage * mpDefaultSdrPage
Impress / draw only members.
Definition: svgfilter.hxx:222
Reference< XInterface > mCreateOjectsCurrentMasterPage
Definition: svgfilter.hxx:227
bool implExportWriterOrCalc(const Reference< XOutputStream > &rxOStm)
Definition: svgexport.cxx:788
Reference< XComponentContext > mxContext
Generally use members.
Definition: svgfilter.hxx:196
bool mbCalcFilter
Definition: svgfilter.hxx:216
std::unordered_set< ObjectRepresentation, HashBitmap, EqualityBitmap > MetaBitmapActionSet
Definition: svgfilter.hxx:190
std::unordered_map< Reference< XInterface >, OUString > mTextShapeIdListMap
Definition: svgfilter.hxx:229
std::unordered_set< sal_Unicode, HashUChar > UCharSet
Definition: svgfilter.hxx:186
static Any implSafeGetPagePropSet(const OUString &sPropertyName, const Reference< XPropertySet > &rxPropSet, const Reference< XPropertySetInfo > &rxPropSetInfo)
Definition: svgexport.cxx:1771
std::unordered_map< OUString, UCharSet > UCharSetMap
Definition: svgfilter.hxx:187
void implCreateObjectsFromBackground(const Reference< css::drawing::XDrawPage > &rxMasterPage)
Definition: svgexport.cxx:2511
bool implLookForFirstVisiblePage()
Definition: svgexport.cxx:900
Link< EditFieldInfo *, void > maNewFieldHdl
Definition: svgfilter.hxx:237
rtl::Reference< SVGExport > mpSVGExport
Definition: svgfilter.hxx:198
Reference< css::drawing::XDrawPage > mxDefaultPage
Definition: svgfilter.hxx:210
static OUString implGetInterfaceName(const Reference< XInterface > &rxIf)
Definition: svgexport.cxx:2679
Sequence< PropertyValue > maFilterData
Definition: svgfilter.hxx:209
virtual sal_Bool SAL_CALL filter(const Sequence< PropertyValue > &rDescriptor) override
Definition: svgfilter.cxx:99
void implGenerateScript()
Definition: svgexport.cxx:1752
bool implExportMasterPages(const std::vector< Reference< css::drawing::XDrawPage > > &rxPages, sal_Int32 nFirstPage, sal_Int32 nLastPage)
Definition: svgexport.cxx:1833
void implExportAnimations()
Definition: svgexport.cxx:1455
std::unordered_set< Reference< XInterface > > ObjectSet
Definition: svgfilter.hxx:184
std::vector< Reference< css::drawing::XDrawPage > > mSelectedPages
Definition: svgfilter.hxx:211
ObjectMap mEmbeddedBitmapActionMap
Definition: svgfilter.hxx:231
Reference< XComponent > mxSrcDoc
Definition: svgfilter.hxx:204
Reference< XComponent > mxDstDoc
Definition: svgfilter.hxx:205
std::unordered_map< Reference< XInterface >, UCharSetMap > UCharSetMapMap
Definition: svgfilter.hxx:188
bool mbImpressFilter
Definition: svgfilter.hxx:217
PatternPropertySet maPatterProps
Definition: svgfilter.hxx:233
Reference< css::drawing::XShapes > maShapeSelection
Definition: svgfilter.hxx:207
void implExportDrawPages(const std::vector< Reference< css::drawing::XDrawPage > > &rxPages, sal_Int32 nFirstPage, sal_Int32 nLastPage)
Definition: svgexport.cxx:1881
void implGenerateMetaData()
Definition: svgexport.cxx:1211
bool mbIsPreview
Definition: svgfilter.hxx:212
virtual sal_Bool SAL_CALL supportsService(const OUString &sServiceName) override
Definition: svgfilter.cxx:829
float u
#define ERRCODE_NONE
SvxDateFormat
unsigned char uchar
Shape IDs per cluster in DGG atom.
bool operator()(const ObjectRepresentation &rObjRep1, const ObjectRepresentation &rObjRep2) const
Definition: svgexport.cxx:610
size_t operator()(const ObjectRepresentation &rObjRep) const
Definition: svgexport.cxx:595
size_t operator()(const sal_Unicode uchar) const
Definition: svgfilter.hxx:147
bool bIsDateTimeFieldFixed
Definition: svgfilter.hxx:129
bool bIsBackgroundVisible
Definition: svgfilter.hxx:122
bool bIsHeaderFieldVisible
Definition: svgfilter.hxx:127
SvxDateFormat nDateTimeFormat
Definition: svgfilter.hxx:130
bool bIsPageNumberFieldVisible
Definition: svgfilter.hxx:124
bool bIsDateTimeFieldVisible
Definition: svgfilter.hxx:125
bool bAreBackgroundObjectsVisible
Definition: svgfilter.hxx:123
bool bIsFooterFieldVisible
Definition: svgfilter.hxx:126
sal_Int32 nPageNumberingType
Definition: svgfilter.hxx:128
BitmapChecksum aBitmapChecksum
Definition: svgfilter.hxx:166
Size aSlideSize
Definition: svgfilter.hxx:169
constexpr OStringLiteral sTiledBackgroundTag
Definition: svgfilter.hxx:59
std::unordered_map< BitmapChecksum, std::unique_ptr< GDIMetaFile > > MetaBitmapActionMap
Definition: svgfilter.hxx:162
std::map< OUString, PatternData > PatternPropertySet
Definition: svgfilter.hxx:171
constexpr OUStringLiteral sPlaceholderTag
Definition: svgfilter.hxx:57
unsigned char sal_Bool
sal_uInt16 sal_Unicode