LibreOffice Module oox (master)  1
shape.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 #ifndef INCLUDED_OOX_DRAWINGML_SHAPE_HXX
21 #define INCLUDED_OOX_DRAWINGML_SHAPE_HXX
22 
23 #include <map>
24 #include <memory>
25 #include <string_view>
26 #include <vector>
27 
28 #include <com/sun/star/awt/Point.hpp>
29 #include <com/sun/star/awt/Size.hpp>
30 #include <com/sun/star/beans/PropertyValue.hpp>
31 #include <com/sun/star/uno/Reference.hxx>
32 #include <com/sun/star/uno/Sequence.hxx>
33 
35 #include <oox/dllapi.h>
36 #include <oox/drawingml/color.hxx>
39 #include <oox/helper/helper.hxx>
41 #include <rtl/ustring.hxx>
42 #include <sal/types.h>
43 
44 namespace basegfx { class B2DHomMatrix; }
45 
46 namespace com::sun::star {
47  namespace awt { struct Rectangle; }
48  namespace drawing { class XShape; }
49  namespace drawing { class XShapes; }
50  namespace uno { class Any; }
51 }
52 
53 namespace oox::core {
54  class XmlFilterBase;
55 }
56 
57 namespace oox::vml {
58  struct OleObjectInfo;
59 }
60 
61 namespace svx::diagram {
62  class IDiagramHelper;
63 }
64 
65 namespace oox::drawingml {
66 
67 class Theme;
68 struct EffectProperties;
69 struct FillProperties;
70 struct GraphicProperties;
71 struct LineProperties;
72 struct Shape3DProperties;
73 
74 class CustomShapeProperties;
75 typedef std::shared_ptr< CustomShapeProperties > CustomShapePropertiesPtr;
76 
77 typedef ::std::map< OUString, ShapePtr > ShapeIdMap;
78 
79 typedef std::vector<ConnectorShapeProperties> ConnectorShapePropertiesList;
80 
82 {
84  sal_Int32 mnThemedIdx;
85  ShapeStyleRef() : mnThemedIdx(0) {}
86 };
87 
88 typedef ::std::map< sal_Int32, ShapeStyleRef > ShapeStyleRefMap;
89 
92 {
93  OUString maFragmentPath;
95 
96  explicit ChartShapeInfo( bool bEmbedShapes ) : mbEmbedShapes( bEmbedShapes ) {}
97 };
98 
101 {
102  sal_Int32 id;
103  sal_Int32 seq;
104  LinkedTxbxAttr(): id(0),seq(0){};
105 };
106 
107 class Diagram;
108 
110  : public std::enable_shared_from_this< Shape >
111 {
112 public:
113 
114  explicit Shape( const char* pServiceType = nullptr, bool bDefaultHeight = true );
115  explicit Shape( const ShapePtr& pSourceShape );
116  Shape(Shape const &) = default;
117  virtual ~Shape();
118  Shape & operator =(Shape const &) = default;
119 
120  OUString& getServiceName(){ return msServiceName; }
121  void setServiceName( const char* pServiceName );
122 
123  const OUString& getDiagramDataModelID() const { return msDiagramDataModelID; }
124  void setDiagramDataModelID( const OUString& rDiagramDataModelID ) { msDiagramDataModelID = rDiagramDataModelID; }
125 
126  PropertyMap& getShapeProperties(){ return maShapeProperties; }
127 
128  LineProperties& getLineProperties() { return *mpLinePropertiesPtr; }
129  const LineProperties& getLineProperties() const { return *mpLinePropertiesPtr; }
130 
131  FillProperties& getFillProperties() { return *mpFillPropertiesPtr; }
132  const FillProperties& getFillProperties() const { return *mpFillPropertiesPtr; }
133 
134  GraphicProperties& getGraphicProperties() { return *mpGraphicPropertiesPtr; }
135  const GraphicProperties& getGraphicProperties() const { return *mpGraphicPropertiesPtr; }
136 
137  CustomShapePropertiesPtr& getCustomShapeProperties(){ return mpCustomShapePropertiesPtr; }
138 
139  ConnectorShapePropertiesList& getConnectorShapeProperties() { return maConnectorShapePropertiesList; }
140  void setConnectorShape(bool bConnector) { mbConnector = bConnector; }
141  bool isConnectorShape() const { return mbConnector; }
142 
143  void setBookmark(bool bBookmark) { mbHasBookmark = bBookmark; }
144  bool hasBookmark() const { return mbHasBookmark; }
145 
146  Shape3DProperties& get3DProperties() { return *mp3DPropertiesPtr; }
147  const Shape3DProperties& get3DProperties() const { return *mp3DPropertiesPtr; }
148 
149  table::TablePropertiesPtr const & getTableProperties();
150 
151  EffectProperties& getEffectProperties() const { return *mpEffectPropertiesPtr; }
152 
153  void setChildPosition( css::awt::Point nPosition ){ maChPosition = nPosition; }
154  void setChildSize( css::awt::Size aSize ){ maChSize = aSize; }
155 
156  void setPosition( css::awt::Point nPosition ){ maPosition = nPosition; }
157  const css::awt::Point& getPosition() const { return maPosition; }
158 
159  void setSize( css::awt::Size aSize ){ maSize = aSize; }
160  const css::awt::Size& getSize() const { return maSize; }
161 
162  void setRotation( sal_Int32 nRotation ) { mnRotation = nRotation; }
163  sal_Int32 getRotation() const { return mnRotation; }
164  void setDiagramRotation( sal_Int32 nRotation ) { mnDiagramRotation = nRotation; }
165  void setFlip( bool bFlipH, bool bFlipV ) { mbFlipH = bFlipH; mbFlipV = bFlipV; }
166  void addChild( const ShapePtr& rChildPtr ) { maChildren.push_back( rChildPtr ); }
167  std::vector< ShapePtr >& getChildren() { return maChildren; }
168 
169  void setName( const OUString& rName ) { msName = rName; }
170  const OUString& getName( ) const { return msName; }
171  void setInternalName( const OUString& rInternalName ) { msInternalName = rInternalName; }
172  const OUString& getInternalName() const { return msInternalName; }
173  void setId( const OUString& rId ) { msId = rId; }
174  const OUString& getId() const { return msId; }
175  void setDescription( const OUString& rDescr ) { msDescription = rDescr; }
176  void setHidden( bool bHidden ) { mbHidden = bHidden; }
177  void setHiddenMasterShape( bool bHiddenMasterShape ) { mbHiddenMasterShape = bHiddenMasterShape; }
178  void setLocked( bool bLocked ) { mbLocked = bLocked; }
179  void setSubType( sal_Int32 nSubType ) { mnSubType = nSubType; }
180  sal_Int32 getSubType() const { return mnSubType; }
181  void setSubTypeIndex( sal_Int32 nSubTypeIndex ) { moSubTypeIndex = nSubTypeIndex; }
182  const OptValue< sal_Int32 >& getSubTypeIndex() const { return moSubTypeIndex; }
183 
184  // setDefaults has to be called if styles are imported (OfficeXML is not storing properties having the default value)
185  void setDefaults(bool bHeight);
186 
187  ::oox::vml::OleObjectInfo& setOleObjectType();
188  ChartShapeInfo& setChartType( bool bEmbedShapes );
189  void setDiagramType();
190  void setTableType();
191 
192  void setTextBody(const TextBodyPtr & pTextBody);
193  const TextBodyPtr& getTextBody() const { return mpTextBody;}
194  void setMasterTextListStyle( const TextListStylePtr& pMasterTextListStyle );
195  const TextListStylePtr& getMasterTextListStyle() const { return mpMasterTextListStyle; }
196 
197  ShapeStyleRefMap& getShapeStyleRefs() { return maShapeStyleRefs; }
198  const ShapeStyleRefMap& getShapeStyleRefs() const { return maShapeStyleRefs; }
199  const ShapeStyleRef* getShapeStyleRef( sal_Int32 nRefType ) const;
200  bool hasShapeStyleRefs() const { return !maShapeStyleRefs.empty(); }
201 
202  // addShape is creating and inserting the corresponding XShape.
203  void addShape(
204  ::oox::core::XmlFilterBase& rFilterBase,
205  const Theme* pTheme,
206  const css::uno::Reference< css::drawing::XShapes >& rxShapes,
207  const basegfx::B2DHomMatrix& aTransformation,
208  const FillProperties& rShapeOrParentShapeFillProps,
209  ShapeIdMap* pShapeMap = nullptr,
210  oox::drawingml::ShapePtr pParentGroupShape = nullptr);
211 
212  const css::uno::Reference< css::drawing::XShape > &
213  getXShape() const { return mxShape; }
214 
215  void applyShapeReference( const Shape& rReferencedShape, bool bUseText = true );
216  const ::std::vector<OUString>&
217  getExtDrawings() const { return maExtDrawings; }
218  void addExtDrawingRelId( const OUString &rRelId ) { maExtDrawings.push_back( rRelId ); }
219  // Set font color only for extdrawings.
220  void setFontRefColorForNodes(const Color& rColor) { maFontRefColorForNodes = rColor; }
221  const Color& getFontRefColorForNodes() const { return maFontRefColorForNodes; }
222  void setLockedCanvas(bool bLockedCanvas);
223  bool getLockedCanvas() const { return mbLockedCanvas;}
224  void setWPGChild(bool bWPG);
225  bool isWPGChild() const { return mbWPGChild;}
226  void setWps(bool bWps);
227  bool getWps() const { return mbWps;}
228  void setTextBox(bool bTextBox);
229  const css::uno::Sequence<css::beans::PropertyValue> &
230  getDiagramDoms() const { return maDiagramDoms; }
231  void setDiagramDoms(const css::uno::Sequence<css::beans::PropertyValue>& rDiagramDoms) { maDiagramDoms = rDiagramDoms; }
232  css::uno::Sequence< css::uno::Sequence< css::uno::Any > >resolveRelationshipsOfTypeFromOfficeDoc(
233  core::XmlFilterBase& rFilter, const OUString& sFragment, std::u16string_view sType );
234  void setLinkedTxbxAttributes(const LinkedTxbxAttr& rhs){ maLinkedTxbxAttr = rhs; };
235  void setTxbxHasLinkedTxtBox( const bool rhs){ mbHasLinkedTxbx = rhs; };
236  const LinkedTxbxAttr& getLinkedTxbxAttributes() const { return maLinkedTxbxAttr; };
237  bool isLinkedTxbx() const { return mbHasLinkedTxbx; };
238 
239  void setZOrder(sal_Int32 nZOrder) { mnZOrder = nZOrder; }
240 
241  sal_Int32 getZOrder() const { return mnZOrder; }
242 
243  void setZOrderOff(sal_Int32 nZOrderOff) { mnZOrderOff = nZOrderOff; }
244 
245  sal_Int32 getZOrderOff() const { return mnZOrderOff; }
246 
247  void setDataNodeType(sal_Int32 nDataNodeType) { mnDataNodeType = nDataNodeType; }
248 
249  sal_Int32 getDataNodeType() const { return mnDataNodeType; }
250 
251  void setAspectRatio(double fAspectRatio) { mfAspectRatio = fAspectRatio; }
252 
253  double getAspectRatio() const { return mfAspectRatio; }
254 
255  void setVerticalShapesCount(sal_Int32 nVerticalShapesCount) { mnVerticalShapesCount = nVerticalShapesCount; }
256  sal_Int32 getVerticalShapesCount() const { return mnVerticalShapesCount; }
257 
259  void cloneFillProperties();
260 
261  void keepDiagramDrawing(::oox::core::XmlFilterBase& rFilterBase, const OUString& rFragmentPath);
262 
263  // Allows preparation of a local Diagram helper && propagate an eventually
264  // existing one to the data holder object later
265  void prepareDiagramHelper(const std::shared_ptr< Diagram >& rDiagramPtr, const std::shared_ptr<::oox::drawingml::Theme>& rTheme);
266  void propagateDiagramHelper();
267 
268  // for Writer it is necessary to migrate an existing helper to a new Shape
269  void migrateDiagramHelperToNewShape(const ShapePtr& pTarget);
270 
271 protected:
272 
274  {
279  FRAMETYPE_TABLE
280  };
281 
282  css::uno::Reference< css::drawing::XShape > const &
283  createAndInsert(
284  ::oox::core::XmlFilterBase& rFilterBase,
285  const OUString& rServiceName,
286  const Theme* pTheme,
287  const css::uno::Reference< css::drawing::XShapes >& rxShapes,
288  bool bClearText,
289  bool bDoNotInsertEmptyTextBody,
290  basegfx::B2DHomMatrix& aTransformation,
291  const FillProperties& rShapeOrParentShapeFillProps,
292  oox::drawingml::ShapePtr pParentGroupShape = nullptr
293  );
294 
295  void addChildren(
296  ::oox::core::XmlFilterBase& rFilterBase,
297  Shape& rMaster,
298  const Theme* pTheme,
299  const css::uno::Reference< css::drawing::XShapes >& rxShapes,
300  ShapeIdMap* pShapeMap,
301  const basegfx::B2DHomMatrix& aTransformation );
302 
303  void keepDiagramCompatibilityInfo();
304  void convertSmartArtToMetafile( ::oox::core::XmlFilterBase const& rFilterBase );
305 
306  css::uno::Reference< css::drawing::XShape >
307  renderDiagramToGraphic( ::oox::core::XmlFilterBase const & rFilterBase );
308 
309  OUString finalizeServiceName(
310  ::oox::core::XmlFilterBase& rFilter,
311  const OUString& rServiceName,
312  const css::awt::Rectangle& rShapeRect );
313 
314  virtual void finalizeXShape(
315  ::oox::core::XmlFilterBase& rFilter,
316  const css::uno::Reference< css::drawing::XShapes >& rxShapes );
317 
318  void putPropertyToGrabBag(
319  const OUString& sPropertyName, const css::uno::Any& aPropertyValue );
320  void putPropertyToGrabBag(
321  const css::beans::PropertyValue& pProperty );
322  void putPropertiesToGrabBag(
323  const css::uno::Sequence< css::beans::PropertyValue >& aProperties );
324 
325  FillProperties getActualFillProperties(const Theme* pTheme, const FillProperties* pParentShapeFillProps) const;
326  LineProperties getActualLineProperties(const Theme* pTheme) const;
327  EffectProperties getActualEffectProperties(const Theme* pTheme) const;
328 
329  std::vector< ShapePtr > maChildren; // only used for group shapes
330  css::awt::Size maChSize; // only used for group shapes
331  css::awt::Point maChPosition; // only used for group shapes
332 
339  CustomShapePropertiesPtr mpCustomShapePropertiesPtr;
347  css::uno::Reference< css::drawing::XShape > mxShape;
348  ConnectorShapePropertiesList maConnectorShapePropertiesList;
349 
350  OUString msServiceName;
351  OUString msName;
352  OUString msInternalName; // used by diagram; not displayed in UI
353  OUString msId;
354  OUString msDescription;
355  sal_Int32 mnSubType; // if this type is not zero, then the shape is a placeholder
357 
358  ShapeStyleRefMap maShapeStyleRefs;
359 
360  css::awt::Size maSize;
361  css::awt::Point maPosition;
362  ::std::vector<OUString> maExtDrawings;
364 
366 
367 private:
368 
369  typedef std::shared_ptr< ::oox::vml::OleObjectInfo > OleObjectInfoRef;
370  typedef std::shared_ptr< ChartShapeInfo > ChartShapeInfoRef;
371 
372  OleObjectInfoRef mxOleObjectInfo;
373  ChartShapeInfoRef mxChartShapeInfo;
374 
375  sal_Int32 mnRotation;
376  sal_Int32 mnDiagramRotation; // rotates shape prior to sizing, does not affect text rotation
377  bool mbFlipH;
378  bool mbFlipV;
379  bool mbHidden;
380  bool mbHiddenMasterShape; // master shapes can be hidden in layout slides
381  // we need separate flag because we don't want
382  // to propagate it when applying reference shape
383  bool mbLocked;
384  bool mbWPGChild; // Is this shape a child of a WPG shape?
386  bool mbWps;
387  bool mbTextBox;
389  bool mbHasLinkedTxbx; // this text box has linked text box ?
390 
391  css::uno::Sequence<css::beans::PropertyValue> maDiagramDoms;
392 
394  sal_Int32 mnZOrder = 0;
395 
397  sal_Int32 mnZOrderOff = 0;
398 
400  sal_Int32 mnDataNodeType = 0;
401 
403  double mfAspectRatio = 0;
404 
406  sal_Int32 mnVerticalShapesCount = 0;
407 
408  // Is this a connector shape?
409  bool mbConnector = false;
410 
411  // Is shape has bookmark?
412  bool mbHasBookmark = false;
413 
414  // temporary space for DiagramHelper in preparation for collecting data
415  // Note: I tried to use a unique_ptr here, but existing constructor func does not allow that
417 
418  // association-ID to identify the Diagram ModelData
420 };
421 
422 }
423 
424 #endif // INCLUDED_OOX_DRAWINGML_SHAPE_HXX
425 
426 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
LinePropertiesPtr mpLinePropertiesPtr
Definition: shape.hxx:334
void setPosition(css::awt::Point nPosition)
Definition: shape.hxx:156
::std::map< sal_Int32, ShapeStyleRef > ShapeStyleRefMap
Definition: shape.hxx:88
sal_Int32 getSubType() const
Definition: shape.hxx:180
FrameType meFrameType
Type for graphic frame shapes.
Definition: shape.hxx:365
void setInternalName(const OUString &rInternalName)
Definition: shape.hxx:171
std::vector< Reference< XAnimationNode > > maChildren
GraphicPropertiesPtr mpGraphicPropertiesPtr
Definition: shape.hxx:338
Shape3DProperties & get3DProperties()
Definition: shape.hxx:146
const GraphicProperties & getGraphicProperties() const
Definition: shape.hxx:135
sal_Int32 getVerticalShapesCount() const
Definition: shape.hxx:256
void setHidden(bool bHidden)
Definition: shape.hxx:176
OUString maFragmentPath
Path to related XML stream, e.g. for charts.
Definition: shape.hxx:93
std::shared_ptr< FillProperties > FillPropertiesPtr
A helper that maps property identifiers to property values.
Definition: propertymap.hxx:51
bool isLinkedTxbx() const
Definition: shape.hxx:237
const css::awt::Point & getPosition() const
Definition: shape.hxx:157
bool isWPGChild() const
Definition: shape.hxx:225
const css::uno::Sequence< css::beans::PropertyValue > & getDiagramDoms() const
Definition: shape.hxx:230
void setDescription(const OUString &rDescr)
Definition: shape.hxx:175
void setTxbxHasLinkedTxtBox(const bool rhs)
Definition: shape.hxx:235
OUString msServiceName
Definition: shape.hxx:350
EffectPropertiesPtr mpEffectPropertiesPtr
Definition: shape.hxx:342
GraphicProperties & getGraphicProperties()
Definition: shape.hxx:134
bool mbEmbedShapes
True = load chart shapes into chart, false = load into parent drawpage.
Definition: shape.hxx:94
std::shared_ptr< GraphicProperties > GraphicPropertiesPtr
PropertyMap & getShapeProperties()
Definition: shape.hxx:126
std::shared_ptr< TableProperties > TablePropertiesPtr
sal_Int32 mnSubType
Definition: shape.hxx:355
const OUString & getDiagramDataModelID() const
Definition: shape.hxx:123
exports com.sun.star. awt
Color maFontRefColorForNodes
Definition: shape.hxx:363
CustomShapePropertiesPtr mpCustomShapePropertiesPtr
Definition: shape.hxx:339
void setLocked(bool bLocked)
Definition: shape.hxx:178
void addChild(const ShapePtr &rChildPtr)
Definition: shape.hxx:166
void setLinkedTxbxAttributes(const LinkedTxbxAttr &rhs)
Definition: shape.hxx:234
void addExtDrawingRelId(const OUString &rRelId)
Definition: shape.hxx:218
void setZOrder(sal_Int32 nZOrder)
Definition: shape.hxx:239
void setSubType(sal_Int32 nSubType)
Definition: shape.hxx:179
geometry::RealPoint2D maPosition
PropertyMap maDefaultShapeProperties
Definition: shape.hxx:345
OUString msDiagramDataModelID
Definition: shape.hxx:419
const OUString & getInternalName() const
Definition: shape.hxx:172
Shape3DPropertiesPtr mp3DPropertiesPtr
Definition: shape.hxx:341
bool mbTextBox
This shape has a textbox.
Definition: shape.hxx:387
uno::Reference< drawing::XShape > const mxShape
LinePropertiesPtr mpShapeRefLinePropPtr
Definition: shape.hxx:335
void setDiagramDoms(const css::uno::Sequence< css::beans::PropertyValue > &rDiagramDoms)
Definition: shape.hxx:231
sal_Int32 getDataNodeType() const
Definition: shape.hxx:249
void setVerticalShapesCount(sal_Int32 nVerticalShapesCount)
Definition: shape.hxx:255
css::awt::Point maPosition
Definition: shape.hxx:361
exports com.sun.star. drawing
EffectProperties & getEffectProperties() const
Definition: shape.hxx:151
::std::vector< OUString > maExtDrawings
Definition: shape.hxx:362
void setSubTypeIndex(sal_Int32 nSubTypeIndex)
Definition: shape.hxx:181
ChartShapeInfoRef mxChartShapeInfo
Additional data for chart shapes.
Definition: shape.hxx:373
css::awt::Point maChPosition
Definition: shape.hxx:331
css::uno::Reference< css::drawing::XShape > mxShape
Definition: shape.hxx:347
sal_Int32 mnRotation
Definition: shape.hxx:375
OLE object embedded in a shape.
Definition: shape.hxx:276
const OUString & getName() const
Definition: shape.hxx:170
ShapeStyleRefMap & getShapeStyleRefs()
Definition: shape.hxx:197
table::TablePropertiesPtr mpTablePropertiesPtr
Definition: shape.hxx:340
std::vector< ShapePtr > maChildren
Definition: shape.hxx:329
void setRotation(sal_Int32 nRotation)
Definition: shape.hxx:162
const OptValue< sal_Int32 > & getSubTypeIndex() const
Definition: shape.hxx:182
bool mbWps
Is this a wps shape?
Definition: shape.hxx:386
const Color & getFontRefColorForNodes() const
Definition: shape.hxx:221
OUString msInternalName
Definition: shape.hxx:352
OUString & getServiceName()
Definition: shape.hxx:120
const Shape3DProperties & get3DProperties() const
Definition: shape.hxx:147
OleObjectInfoRef mxOleObjectInfo
Additional data for OLE objects.
Definition: shape.hxx:372
ConnectorShapePropertiesList & getConnectorShapeProperties()
Definition: shape.hxx:139
LineProperties & getLineProperties()
Definition: shape.hxx:128
css::awt::Size maSize
Definition: shape.hxx:360
bool getLockedCanvas() const
Definition: shape.hxx:223
void setId(const OUString &rId)
Definition: shape.hxx:173
bool mbLockedCanvas
Is this shape part of a locked canvas?
Definition: shape.hxx:385
Contains information about an OLE object embedded in a draw page.
Definition: vmldrawing.hxx:62
const LineProperties & getLineProperties() const
Definition: shape.hxx:129
TextBodyPtr mpTextBody
Definition: shape.hxx:333
std::vector< ShapePtr > & getChildren()
Definition: shape.hxx:167
void setDataNodeType(sal_Int32 nDataNodeType)
Definition: shape.hxx:247
Attributes for a linked textbox.
Definition: shape.hxx:100
std::shared_ptr< ::oox::vml::OleObjectInfo > OleObjectInfoRef
Definition: shape.hxx:369
void setBookmark(bool bBookmark)
Definition: shape.hxx:143
std::shared_ptr< EffectProperties > EffectPropertiesPtr
sal_Int32 getRotation() const
Definition: shape.hxx:163
Additional information for a chart embedded in a drawing shape.
Definition: shape.hxx:91
std::shared_ptr< TextBody > TextBodyPtr
void setName(const OUString &rName)
Definition: shape.hxx:169
void setSize(css::awt::Size aSize)
Definition: shape.hxx:159
OptValue< sal_Int32 > moSubTypeIndex
Definition: shape.hxx:356
const ::std::vector< OUString > & getExtDrawings() const
Definition: shape.hxx:217
void setHiddenMasterShape(bool bHiddenMasterShape)
Definition: shape.hxx:177
EffectPropertiesPtr mpShapeRefEffectPropPtr
Definition: shape.hxx:343
bool hasBookmark() const
Definition: shape.hxx:144
void setChildPosition(css::awt::Point nPosition)
Definition: shape.hxx:153
sal_Int32 getZOrder() const
Definition: shape.hxx:241
void setChildSize(css::awt::Size aSize)
Definition: shape.hxx:154
sal_Int32 getZOrderOff() const
Definition: shape.hxx:245
CustomShapePropertiesPtr & getCustomShapeProperties()
Definition: shape.hxx:137
const TextBodyPtr & getTextBody() const
Definition: shape.hxx:193
std::shared_ptr< LineProperties > LinePropertiesPtr
std::shared_ptr< TextListStyle > TextListStylePtr
const OUString & getId() const
Definition: shape.hxx:174
std::shared_ptr< Shape3DProperties > Shape3DPropertiesPtr
css::awt::Size maChSize
Definition: shape.hxx:330
const FillProperties & getFillProperties() const
Definition: shape.hxx:132
void setConnectorShape(bool bConnector)
Definition: shape.hxx:140
ChartShapeInfo(bool bEmbedShapes)
Definition: shape.hxx:96
std::shared_ptr< ChartShapeInfo > ChartShapeInfoRef
Definition: shape.hxx:370
TextListStylePtr mpMasterTextListStyle
Definition: shape.hxx:346
void setAspectRatio(double fAspectRatio)
Definition: shape.hxx:251
bool isConnectorShape() const
Definition: shape.hxx:141
void setFontRefColorForNodes(const Color &rColor)
Definition: shape.hxx:220
const ShapeStyleRefMap & getShapeStyleRefs() const
Definition: shape.hxx:198
::std::map< OUString, ShapePtr > ShapeIdMap
Definition: shape.hxx:77
const css::uno::Reference< css::drawing::XShape > & getXShape() const
Definition: shape.hxx:213
svx::diagram::IDiagramHelper * mpDiagramHelper
Definition: shape.hxx:416
const css::awt::Size & getSize() const
Definition: shape.hxx:160
bool hasShapeStyleRefs() const
Definition: shape.hxx:200
void setZOrderOff(sal_Int32 nZOrderOff)
Definition: shape.hxx:243
ShapeStyleRefMap maShapeStyleRefs
Definition: shape.hxx:358
#define OOX_DLLPUBLIC
Definition: dllapi.h:28
ConnectorShapePropertiesList maConnectorShapePropertiesList
Definition: shape.hxx:348
std::shared_ptr< CustomShapeProperties > CustomShapePropertiesPtr
void setDiagramDataModelID(const OUString &rDiagramDataModelID)
Definition: shape.hxx:124
OUString msDescription
Definition: shape.hxx:354
std::shared_ptr< Shape > ShapePtr
bool getWps() const
Definition: shape.hxx:227
FillPropertiesPtr mpShapeRefFillPropPtr
Definition: shape.hxx:337
const TextListStylePtr & getMasterTextListStyle() const
Definition: shape.hxx:195
FillProperties & getFillProperties()
Definition: shape.hxx:131
PropertyMap maShapeProperties
Definition: shape.hxx:344
void setFlip(bool bFlipH, bool bFlipV)
Definition: shape.hxx:165
sal_Int32 mnDiagramRotation
Definition: shape.hxx:376
Complex diagram drawing shape.
Definition: shape.hxx:278
Chart embedded in a shape.
Definition: shape.hxx:277
Generic shape, no special type.
Definition: shape.hxx:275
double getAspectRatio() const
Definition: shape.hxx:253
void setDiagramRotation(sal_Int32 nRotation)
Definition: shape.hxx:164
LinkedTxbxAttr maLinkedTxbxAttr
Definition: shape.hxx:388
OUString msName
const LinkedTxbxAttr & getLinkedTxbxAttributes() const
Definition: shape.hxx:236
FillPropertiesPtr mpFillPropertiesPtr
Definition: shape.hxx:336
::basegfx::B2IVector maSize
std::vector< ConnectorShapeProperties > ConnectorShapePropertiesList
Definition: shape.hxx:79
css::uno::Sequence< css::beans::PropertyValue > maDiagramDoms
Definition: shape.hxx:391