19#ifndef INCLUDED_XMLOFF_SHAPEEXPORT_HXX
20#define INCLUDED_XMLOFF_SHAPEEXPORT_HXX
27#include <rtl/ustring.hxx>
28#include <rtl/ustrbuf.hxx>
68#define SEF_DEFAULT XMLShapeExportFlags::POSITION|XMLShapeExportFlags::SIZE
183 SAL_DLLPRIVATE
void ImpCalcShapeType(
const css::uno::Reference< css::drawing::XShape >& xShape,
XmlShapeType& eShapeType);
185 SAL_DLLPRIVATE
void ImpExportNewTrans(
const css::uno::Reference< css::beans::XPropertySet >& xPropSet,
XMLShapeExportFlags nFeatures, css::awt::Point* pRefPoint);
186 SAL_DLLPRIVATE
void ImpExportNewTrans_GetB2DHomMatrix(
::basegfx::B2DHomMatrix& rMatrix,
const css::uno::Reference< css::beans::XPropertySet >& xPropSet);
187 SAL_DLLPRIVATE
static void ImpExportNewTrans_DecomposeAndRefPoint(const ::basegfx::B2DHomMatrix& rMat,
::basegfx::B2DTuple& rTRScale,
double& fTRShear,
double& fTRRotate,
::basegfx::B2DTuple& rTRTranslate, css::awt::Point* pRefPoint);
189 SAL_DLLPRIVATE
bool ImpExportPresentationAttributes(
const css::uno::Reference< css::beans::XPropertySet >& xPropSet,
const OUString& rClass );
190 SAL_DLLPRIVATE
void ImpExportText(
const css::uno::Reference< css::drawing::XShape >& xShape,
TextPNS eExtensionNS =
TextPNS::ODF );
191 SAL_DLLPRIVATE
void ImpExportEvents(
const css::uno::Reference< css::drawing::XShape >& xShape );
192 SAL_DLLPRIVATE
void ImpExportDescription(
const css::uno::Reference< css::drawing::XShape >& xShape );
193 SAL_DLLPRIVATE
void ImpExportGluePoints(
const css::uno::Reference< css::drawing::XShape >& xShape );
194 SAL_DLLPRIVATE
void ImpExportSignatureLine(
const css::uno::Reference<css::drawing::XShape>& xShape);
195 SAL_DLLPRIVATE
void ImpExportQRCode(
const css::uno::Reference<css::drawing::XShape>& xShape);
198 SAL_DLLPRIVATE
void ImpExportGroupShape(
const css::uno::Reference< css::drawing::XShape >& xShape,
XMLShapeExportFlags nFeatures =
SEF_DEFAULT, css::awt::Point* pRefPoint =
nullptr );
199 SAL_DLLPRIVATE
void ImpExport3DSceneShape(
const css::uno::Reference< css::drawing::XShape >& xShape,
XMLShapeExportFlags nFeatures =
SEF_DEFAULT, css::awt::Point* pRefPoint =
nullptr );
200 SAL_DLLPRIVATE
void ImpExportRectangleShape(
const css::uno::Reference< css::drawing::XShape >& xShape,
XMLShapeExportFlags nFeatures =
SEF_DEFAULT, css::awt::Point* pRefPoint =
nullptr );
201 SAL_DLLPRIVATE
void ImpExportLineShape(
const css::uno::Reference< css::drawing::XShape >& xShape,
XMLShapeExportFlags nFeatures =
SEF_DEFAULT, css::awt::Point* pRefPoint =
nullptr );
202 SAL_DLLPRIVATE
void ImpExportEllipseShape(
const css::uno::Reference< css::drawing::XShape >& xShape,
XMLShapeExportFlags nFeatures =
SEF_DEFAULT, css::awt::Point* pRefPoint =
nullptr );
203 SAL_DLLPRIVATE
void ImpExportPolygonShape(
const css::uno::Reference< css::drawing::XShape >& xShape,
XmlShapeType eShapeType,
XMLShapeExportFlags nFeatures =
SEF_DEFAULT, css::awt::Point* pRefPoint =
nullptr );
204 SAL_DLLPRIVATE
void ImpExportTextBoxShape(
const css::uno::Reference< css::drawing::XShape >& xShape,
XmlShapeType eShapeType,
XMLShapeExportFlags nFeatures =
SEF_DEFAULT, css::awt::Point* pRefPoint =
nullptr );
205 SAL_DLLPRIVATE
void ImpExportGraphicObjectShape(
const css::uno::Reference< css::drawing::XShape >& xShape,
XmlShapeType eShapeType,
XMLShapeExportFlags nFeatures =
SEF_DEFAULT, css::awt::Point* pRefPoint =
nullptr );
207 SAL_DLLPRIVATE
void ImpExportControlShape(
const css::uno::Reference< css::drawing::XShape >& xShape,
XMLShapeExportFlags nFeatures =
SEF_DEFAULT, css::awt::Point* pRefPoint =
nullptr );
208 SAL_DLLPRIVATE
void ImpExportConnectorShape(
const css::uno::Reference< css::drawing::XShape >& xShape,
XMLShapeExportFlags nFeatures =
SEF_DEFAULT, css::awt::Point* pRefPoint =
nullptr );
209 SAL_DLLPRIVATE
void ImpExportMeasureShape(
const css::uno::Reference< css::drawing::XShape >& xShape,
XMLShapeExportFlags nFeatures =
SEF_DEFAULT, css::awt::Point
const * pRefPoint =
nullptr );
211 SAL_DLLPRIVATE
void ImpExportPageShape(
const css::uno::Reference< css::drawing::XShape >& xShape,
XmlShapeType eShapeType,
XMLShapeExportFlags nFeatures =
SEF_DEFAULT, css::awt::Point* pRefPoint =
nullptr );
212 SAL_DLLPRIVATE
void ImpExportCaptionShape(
const css::uno::Reference< css::drawing::XShape >& xShape,
XMLShapeExportFlags nFeatures =
SEF_DEFAULT, css::awt::Point* pRefPoint =
nullptr );
213 SAL_DLLPRIVATE
void ImpExport3DShape(
const css::uno::Reference< css::drawing::XShape >& xShape,
XmlShapeType eShapeType );
214 SAL_DLLPRIVATE
void ImpExportFrameShape(
const css::uno::Reference< css::drawing::XShape >& xShape,
XMLShapeExportFlags nFeatures =
SEF_DEFAULT, css::awt::Point* pRefPoint =
nullptr );
215 SAL_DLLPRIVATE
void ImpExportPluginShape(
const css::uno::Reference< css::drawing::XShape >& xShape,
XMLShapeExportFlags nFeatures =
SEF_DEFAULT, css::awt::Point* pRefPoint =
nullptr );
216 SAL_DLLPRIVATE
void ImpExportAppletShape(
const css::uno::Reference< css::drawing::XShape >& xShape,
XMLShapeExportFlags nFeatures =
SEF_DEFAULT, css::awt::Point* pRefPoint =
nullptr );
217 SAL_DLLPRIVATE
void ImpExportCustomShape(
const css::uno::Reference< css::drawing::XShape >& xShape,
XMLShapeExportFlags nFeatures =
SEF_DEFAULT, css::awt::Point* pRefPoint =
nullptr );
218 SAL_DLLPRIVATE
void ImpExportMediaShape(
const css::uno::Reference< css::drawing::XShape >& xShape,
XmlShapeType eShapeType,
XMLShapeExportFlags nFeatures =
SEF_DEFAULT, css::awt::Point* pRefPoint =
nullptr );
219 SAL_DLLPRIVATE
void ImpExportTableShape(
const css::uno::Reference< css::drawing::XShape >& xShape,
XmlShapeType eShapeType,
XMLShapeExportFlags nFeatures =
SEF_DEFAULT, css::awt::Point* pRefPoint =
nullptr );
225 void collectShapeAutoStyles(
226 const css::uno::Reference < css::drawing::XShape >& xShape);
230 const css::uno::Reference < css::drawing::XShape >& xShape,
232 css::awt::Point* pRefPoint =
nullptr,
237 void collectShapesAutoStyles(
238 const css::uno::Reference < css::drawing::XShapes >& xShapes);
242 const css::uno::Reference < css::drawing::XShapes >& xShapes,
244 css::awt::Point* pRefPoint =
nullptr
258 const css::uno::Reference< css::drawing::XShapes >& xShapes )
noexcept;
260 void exportAutoStyles();
283 void export3DSceneAttributes(
const css::uno::Reference< css::beans::XPropertySet >& xPropSet );
286 void export3DLamps(
const css::uno::Reference< css::beans::XPropertySet >& xPropSet );
289 css::uno::Reference < css::drawing::XShape > checkForCustomShapeReplacement(
290 const css::uno::Reference < css::drawing::XShape >& );
293 void ExportGraphicDefaults();
296 virtual void onExport(
const css::uno::Reference < css::drawing::XShape >& xShape );
304 css::uno::Reference<css::drawing::XShapes>
const& xShapes,
305 std::function<
unsigned int (css::uno::Reference<css::beans::XPropertySet>
const&)>
const& rGetLayer);
This class is a base-class to create XMLPropertyHandler.
ShapesInfos maShapesInfos
void setAnimationsExporter(rtl::Reference< XMLAnimationsExporter > const &xAnimExport)
sets a new reference to an XMLAnimationExporter.
OUString msPresentationStylePrefix
bool IsHandleProgressBarEnabled() const
rtl::Reference< XMLTableExport > mxShapeTableExport
void enableHandleProgressBar()
defines if the export should increment the progress bar or not
void setPresentationStylePrefix(const OUString &rPrefix)
SAL_DLLPRIVATE const rtl::Reference< SvXMLExportPropertyMapper > & GetPropertySetMapper() const
rtl::Reference< SvXMLExportPropertyMapper > mxPropertySetMapper
ShapesInfos::iterator maCurrentShapesIter
const SvXMLExport & GetExport() const
const rtl::Reference< XMLAnimationsExporter > & getAnimationsExporter() const
returns the last set XMLAnimationExport
rtl::Reference< XMLAnimationsExporter > mxAnimationsExporter
SvXMLExport & GetExport()
class SAL_NO_VTABLE XPropertySet
constexpr tools::Long SIZE
void FixZOrder(uno::Reference< drawing::XShapes > const &xShapes, std::function< unsigned int(uno::Reference< beans::XPropertySet > const &)> const &rGetLayer)
std::vector< ImplXMLShapeExportInfo > ImplXMLShapeExportInfoVector
a vector for shape style and type cache information
std::map< css::uno::Reference< css::drawing::XShapes >, ImplXMLShapeExportInfoVector > ShapesInfos
a map to store all cache data for already collected XShapes
caches style and type info after a collectShapeAutostyle for later use in exportShape
css::uno::Reference< css::drawing::XShape > xCustomShapeReplacement