20#ifndef INCLUDED_XMLOFF_SHAPEIMPORT_HXX
21#define INCLUDED_XMLOFF_SHAPEIMPORT_HXX
25#include <com/sun/star/drawing/HomogenMatrix.hpp>
26#include <com/sun/star/drawing/ProjectionMode.hpp>
27#include <com/sun/star/drawing/ShadeMode.hpp>
62 const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList);
77 ::std::vector< rtl::Reference< SdXML3DLightContext > >
107 void setSceneAttributes(
const css::uno::Reference< css::beans::XPropertySet >& xPropSet );
114 css::uno::Reference< css::drawing::XShape >
mxShape;
122 const css::uno::Reference< css::drawing::XShape >&
getShape()
const {
return mxShape; }
134 std::unique_ptr<XMLShapeImportHelperImpl>
mpImpl;
154 const css::uno::Reference< css::frame::XModel>& rModel,
160 SvXMLImport& rImport, sal_Int32 nElement,
161 const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList,
162 css::uno::Reference< css::drawing::XShapes >
const & rShapes,
163 bool bTemporaryShape =
false);
166 SvXMLImport& rImport, sal_Int32 nElement,
167 const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList,
168 css::uno::Reference< css::drawing::XShapes >
const & rShapes,
169 const css::uno::Reference< css::xml::sax::XFastAttributeList >& xFrameAttrList);
172 const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList );
175 SvXMLImport& rImport, sal_Int32 nElement,
176 const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList,
177 css::uno::Reference< css::drawing::XShapes >
const & rShapes);
191 virtual void addShape(
192 css::uno::Reference< css::drawing::XShape >& rShape,
193 const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList,
194 css::uno::Reference< css::drawing::XShapes >& rShapes);
199 virtual void finishShape(
200 css::uno::Reference< css::drawing::XShape >& rShape,
201 const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList,
202 css::uno::Reference< css::drawing::XShapes >& rShapes);
209 void pushGroupForPostProcessing( css::uno::Reference< css::drawing::XShapes >& rShapes );
210 void popGroupAndPostProcess();
212 void shapeWithZIndexAdded( css::uno::Reference< css::drawing::XShape >
const & rShape,
216 void shapeRemoved(
const css::uno::Reference<css::drawing::XShape>& rShape);
218 void addShapeConnection( css::uno::Reference< css::drawing::XShape >
const & rConnectorShape,
220 const OUString& rDestShapeId,
221 sal_Int32 nDestGlueId );
225 void addGluePointMapping( css::uno::Reference< css::drawing::XShape >
const & xShape,
226 sal_Int32 nSourceId, sal_Int32 nDestinnationId );
229 void moveGluePointMapping(
const css::uno::Reference< css::drawing::XShape >& xShape,
const sal_Int32 n );
233 sal_Int32 getGluePointId(
const css::uno::Reference< css::drawing::XShape >& xShape, sal_Int32 nSourceId );
237 void startPage( css::uno::Reference< css::drawing::XShapes >
const & rShapes );
241 void endPage( css::uno::Reference< css::drawing::XShapes >
const & rShapes );
243 void restoreConnections();
247 const css::uno::Reference< css::frame::XModel>& rModel, SvXMLImport& rImport );
250 void enableHandleProgressBar();
251 bool IsHandleProgressBarEnabled()
const;
254 bool IsPresentationShapesSupported()
const;
SdXML3DLightContext(SvXMLImport &rImport, const css::uno::Reference< css::xml::sax::XFastAttributeList > &xAttrList)
::basegfx::B3DVector maDirection
virtual ~SdXML3DLightContext() override
const ::basegfx::B3DVector & GetDirection() const
sal_Int32 GetDiffuseColor() const
void processSceneAttribute(const sax_fastparser::FastAttributeList::FastAttributeIter &aIter)
this should be called for each scene attribute
void setSceneAttributes(const css::uno::Reference< css::beans::XPropertySet > &xPropSet)
this sets the scene attributes at this propertyset
css::drawing::ShadeMode mxShadeMode
SdXML3DSceneAttributesHelper(SvXMLImport &rImporter)
::basegfx::B3DVector maVRP
css::drawing::ProjectionMode mxPrjMode
SvXMLImportContext * create3DLightContext(const css::uno::Reference< css::xml::sax::XFastAttributeList > &xAttrList)
creates a 3d light context and adds it to the internal list for later processing
css::drawing::HomogenMatrix mxHomMat
::std::vector< rtl::Reference< SdXML3DLightContext > > maList
::basegfx::B3DVector maVUP
::basegfx::B3DVector maVPN
This class deliberately does not support XWeak, to improve performance when loading large documents.
SvXMLShapeContext(SvXMLImport &rImp, bool bTemporaryShape)
void setHyperlink(const OUString &rHyperlink)
css::uno::Reference< css::drawing::XShape > mxShape
const css::uno::Reference< css::drawing::XShape > & getShape() const
rtl::Reference< SvXMLImportPropertyMapper > mpPresPagePropsMapper
XMLSdPropHdlFactory * GetSdPropHdlFactory() const
SvXMLImportPropertyMapper * GetPropertySetMapper() const
SvXMLStylesContext * GetAutoStylesContext() const
SvXMLImportPropertyMapper * GetPresPagePropsMapper() const
rtl::Reference< SvXMLImportPropertyMapper > mpPropertySetMapper
static css::uno::Reference< css::xml::sax::XFastContextHandler > CreateFrameChildContext(SvXMLImportContext *pThisContext, sal_Int32 nElement, const css::uno::Reference< css::xml::sax::XFastAttributeList > &xAttrList)
rtl::Reference< SvXMLStylesContext > mxAutoStylesContext
rtl::Reference< XMLTableImport > mxShapeTableImport
rtl::Reference< XMLSdPropHdlFactory > mpSdPropHdlFactory
static SvXMLShapeContext * CreateFrameChildContext(SvXMLImport &rImport, sal_Int32 nElement, const css::uno::Reference< css::xml::sax::XFastAttributeList > &xAttrList, css::uno::Reference< css::drawing::XShapes > const &rShapes, const css::uno::Reference< css::xml::sax::XFastAttributeList > &xFrameAttrList)
std::shared_ptr< XMLShapeImportPageContextImpl > mpPageContext
std::unique_ptr< XMLShapeImportHelperImpl > mpImpl
rtl::Reference< SvXMLStylesContext > mxStylesContext
SvXMLStylesContext * GetStylesContext() const
class SAL_NO_VTABLE XPropertySet
this class is to enable adding members to the XMLShapeImportHelper without getting incompatible
this struct is created for each startPage() call and stores information that is needed during import ...