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