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