ShapeBase.h
1 //////////////////////////////////////////////////////////////////////////
2 // Copyright 2001-2019 Aspose Pty Ltd. All Rights Reserved.
3 //
4 // This file is part of Aspose.Words. The source code in this file
5 // is only intended as a supplement to the documentation, and is provided
6 // "as is", without warranty of any kind, either expressed or implied.
7 //////////////////////////////////////////////////////////////////////////
8 #pragma once
9 
10 
11 #include <drawing/size_f.h>
12 #include <drawing/size.h>
13 #include <drawing/rectangle_f.h>
14 #include <drawing/point_f.h>
15 #include <drawing/point.h>
16 
17 #include "Aspose.Words.Cpp/Model/Formatting/RunPrExpandFlags.h"
18 #include "Aspose.Words.Cpp/Model/Text/IInline.h"
19 #include "Aspose.Words.Cpp/Model/Revisions/ITrackableNode.h"
20 #include "Aspose.Words.Cpp/Model/Nodes/CompositeNode.h"
21 #include "Aspose.Words.Cpp/Model/Formatting/IShapeAttrSource.h"
22 #include "Aspose.Words.Cpp/Model/Drawing/WrapType.h"
23 #include "Aspose.Words.Cpp/Model/Drawing/WrapSide.h"
24 #include "Aspose.Words.Cpp/Model/Drawing/VerticalAlignment.h"
25 #include "Aspose.Words.Cpp/Model/Drawing/ShapeType.h"
26 #include "Aspose.Words.Cpp/Model/Drawing/ShapeMarkupLanguage.h"
27 #include "Aspose.Words.Cpp/Model/Drawing/RelativeVerticalPosition.h"
28 #include "Aspose.Words.Cpp/Model/Drawing/RelativeHorizontalPosition.h"
29 #include "Aspose.Words.Cpp/Model/Drawing/HorizontalAlignment.h"
30 #include "Aspose.Words.Cpp/Model/Drawing/FlipOrientation.h"
31 #include "Aspose.Words.Cpp/Model/Drawing/Core/IShape.h"
32 
33 namespace Aspose { namespace Words { namespace ApsBuilder { namespace Dml { class DmlCompositeNodeRenderer; } } } }
34 namespace Aspose { namespace Words { namespace ApsBuilder { namespace Shapes { namespace Content { class TextBoxMetrics; } } } } }
35 namespace Aspose { namespace Words { namespace Layout { namespace Core { class LayoutShapeDrawingMLAdapter; } } } }
36 namespace Aspose { namespace Words { namespace Layout { namespace Core { class LayoutShapeVMLAdapter; } } } }
37 namespace Aspose { namespace Words { namespace Drawing { namespace Core { namespace Dml { class DmlNodeCustomizer; } } } } }
38 namespace Aspose { namespace Words { namespace Drawing { namespace Core { namespace Dml { class DmlShapeInserter; } } } } }
39 namespace Aspose { namespace Words { namespace Drawing { namespace Core { namespace Dml { class DmlWrapPolygonUtils; } } } } }
40 namespace Aspose { namespace Words { namespace Fields { class FieldIncludePictureUpdater; } } }
41 namespace Aspose { namespace Words { namespace ApsBuilder { namespace Dml { namespace Text { class DmlTextShapeToShapeConvertor; } } } } }
42 namespace Aspose { namespace Words { namespace ApsBuilder { namespace Dml { namespace Text { class DmlTextShapeRenderer; } } } } }
43 namespace Aspose { namespace Words { namespace ApsBuilder { namespace Dml { class DmlShapeRendererBase; } } } }
44 namespace Aspose { namespace Words { namespace ApsBuilder { namespace Shapes { namespace Extrusion { class ExtrusionParametersBuilder; } } } } }
45 namespace Aspose { namespace Words { namespace Comparison { class ShapeComparer; } } }
46 namespace Aspose { namespace Words { namespace Comparison { class StoryComparer; } } }
47 namespace Aspose { namespace Words { namespace RW { namespace Dml { namespace Writer { class DmlShapeValidator; } } } } }
48 namespace Aspose { namespace Words { namespace RW { namespace Docx { namespace Reader { class ChartInserter; } } } } }
49 namespace Aspose { namespace Words { class VideoInserter; } }
50 namespace Aspose { namespace Words { namespace Math { class OfficeMathUtil; } } }
51 namespace Aspose { namespace Words { namespace Replacing { class FindReplaceIndexer; } } }
52 namespace Aspose { namespace Words { namespace RW { namespace Nrx { namespace Writer { class NrxFieldsWriter; } } } } }
53 namespace Aspose { namespace Words { namespace RW { namespace MarkupLanguage { namespace Writer { class ImageShapeWriter; } } } } }
54 namespace Aspose { namespace Words { namespace RW { namespace MarkupLanguage { namespace Writer { class SvgShapeWriter; } } } } }
55 namespace Aspose { namespace Words { namespace Validation { namespace VmlToDml { class VmlFormulaToDmlConverter; } } } }
56 namespace Aspose { namespace Words { namespace Validation { namespace VmlToDml { class VmlFillToDmlConverter; } } } }
57 namespace Aspose { namespace Words { namespace Validation { namespace VmlToDml { class VmlGeometryToDmlConverter; } } } }
58 namespace Aspose { namespace Words { namespace Validation { namespace VmlToDml { class VmlGradientToDmlConverter; } } } }
59 namespace Aspose { namespace Words { namespace Validation { namespace VmlToDml { class VmlToDmlComplexShapeConverter; } } } }
60 namespace Aspose { namespace Words { namespace Validation { namespace VmlToDml { class VmlOutlineToDmlConverter; } } } }
61 namespace Aspose { namespace Words { namespace Validation { namespace VmlToDml { class VmlShapeToDmlShapeConverter; } } } }
62 namespace Aspose { namespace Words { namespace RW { namespace Dml { namespace Writer { class DmlGraphicFrameWriter; } } } } }
63 namespace Aspose { namespace Words { namespace RW { namespace Docx { namespace Reader { class DocxBackgroundReader; } } } } }
64 namespace Aspose { namespace Words { namespace RW { namespace Docx { namespace Writer { class DocxBackgroundWriter; } } } } }
65 namespace Aspose { namespace Words { namespace RW { namespace Html { namespace Css { namespace New { class DocumentFormatter; } } } } } }
66 namespace Aspose { namespace Words { namespace RW { namespace HtmlCommon { class HtmlImageUtil; } } } }
67 namespace Aspose { namespace Words { namespace RW { namespace Nrx { namespace Reader { class NrxRunReaderBase; } } } } }
68 namespace Aspose { namespace Words { namespace Drawing { class ShapeAdaptor; } } }
69 namespace Aspose { namespace Words { namespace Drawing { namespace Core { namespace Dml { class DmlNode; } } } } }
70 namespace Aspose { namespace Words { namespace Drawing { namespace Core { class DrawingMLImageDataSource; } } } }
71 namespace Aspose { namespace Words { namespace Drawing { namespace Core { class VmlNode; } } } }
72 namespace Aspose { namespace Words { namespace Drawing { class ShapeSizeValidationHelper; } } }
73 namespace Aspose { namespace Words { namespace Fields { class FieldBarcodeUtil; } } }
74 namespace Aspose { namespace Words { namespace Fields { class ImageResultFieldMergeFormatApplier; } } }
75 namespace Aspose { namespace Words { namespace RW { namespace Odt { namespace Reader { class OdtChartToDmlConverter; } } } } }
76 namespace Aspose { namespace Words { namespace RW { namespace Odt { namespace Reader { class OdtChartToDmlConverterUtil; } } } } }
77 namespace Aspose { namespace Words { namespace Validation { class ShapeValidator; } } }
78 namespace Aspose { namespace Words { namespace Validation { class UnsupportedShapeDetector; } } }
79 namespace Aspose { namespace Words { namespace Validation { namespace DmlToVml { class DmlGeometryToVmlConverter; } } } }
80 namespace Aspose { namespace Words { namespace Validation { namespace DmlToVml { class DmlShapeToShapeConverter; } } } }
81 namespace Aspose { namespace Words { namespace RW { namespace Dml { namespace Reader { class DmlContentPartReader; } } } } }
82 namespace Aspose { namespace Words { namespace RW { namespace Dml { namespace Reader { class DmlDiagramReader; } } } } }
83 namespace Aspose { namespace Words { namespace RW { namespace Dml { namespace Reader { class DmlChartReader; } } } } }
84 namespace Aspose { namespace Words { namespace RW { namespace Dml { namespace Reader { class DmlChartShapesReader; } } } } }
85 namespace Aspose { namespace Words { namespace RW { namespace Dml { namespace Reader { class DmlCompositeNodeReader; } } } } }
86 namespace Aspose { namespace Words { namespace RW { namespace Dml { namespace Reader { class DmlPictureReader; } } } } }
87 namespace Aspose { namespace Words { namespace RW { namespace Dml { namespace Reader { class DmlShapeReader; } } } } }
88 namespace Aspose { namespace Words { namespace ApsBuilder { namespace Dml { namespace Charts { class DmlChartSpaceRenderer; } } } } }
89 namespace Aspose { namespace Words { namespace Drawing { namespace Core { namespace Dml { class DmlCompositeNode; } } } } }
90 namespace Aspose { namespace Words { namespace Drawing { namespace Core { namespace Dml { class DmlFillableNode; } } } } }
91 namespace Aspose { namespace Words { namespace Drawing { namespace Core { namespace Dml { class DmlGroupShape; } } } } }
92 namespace Aspose { namespace Words { namespace ApsBuilder { namespace Dml { class DmlChartRenderer; } } } }
93 namespace Aspose { namespace Words { namespace ApsBuilder { namespace Dml { namespace Diagram { class DmlDiagramDrawingRenderer; } } } } }
94 namespace Aspose { namespace Words { namespace ApsBuilder { namespace Dml { class DmlNodeRendererFactory; } } } }
95 namespace Aspose { namespace Words { namespace Drawing { namespace Core { namespace Dml { class DmlShapeBase; } } } } }
96 namespace Aspose { namespace Words { namespace Drawing { namespace Core { namespace Dml { class DmlShape; } } } } }
97 namespace Aspose { namespace Words { namespace ApsBuilder { namespace Dml { class DmlToApsConverter; } } } }
98 namespace Aspose { namespace Words { namespace Drawing { namespace Core { namespace Dml { namespace Fills { class DmlFill; } } } } } }
99 namespace Aspose { namespace Words { namespace Drawing { namespace Core { namespace Dml { namespace Outlines { class DmlOutline; } } } } } }
100 namespace Aspose { namespace Words { namespace ApsBuilder { namespace Dml { class DmlShapeRenderer; } } } }
101 namespace Aspose { namespace Words { namespace ApsBuilder { namespace Shapes { class TextBoxSizesCalculator; } } } }
102 namespace Aspose { namespace Words { namespace Layout { namespace Core { class DocumentLayoutBuilder; } } } }
103 namespace Aspose { namespace Words { namespace Layout { namespace Core { class WarningGenerator; } } } }
104 namespace Aspose { namespace Words { namespace Layout { class RunWrapFinder; } } }
105 namespace Aspose { namespace Words { namespace Validation { namespace DmlToVml { class DmlShapePrFiller; } } } }
106 namespace Aspose { namespace Words { namespace Markup { class SdtContentUpdater; } } }
107 namespace Aspose { namespace Words { namespace Validation { class DrawingMLIdValidator; } } }
108 namespace Aspose { namespace Words { namespace Validation { namespace DmlToVml { class DmlUtil; } } } }
109 namespace Aspose { namespace Words { namespace RW { namespace Dml { namespace Writer { class DmlCanvasWriter; } } } } }
110 namespace Aspose { namespace Words { namespace RW { namespace Dml { namespace Writer { class DmlChartSpaceWriter; } } } } }
111 namespace Aspose { namespace Words { namespace RW { namespace Dml { namespace Writer { class DmlChartWriter; } } } } }
112 namespace Aspose { namespace Words { namespace RW { namespace Dml { namespace Writer { class DmlContentPartWriter; } } } } }
113 namespace Aspose { namespace Words { namespace RW { namespace Dml { namespace Writer { class DmlDiagramDrawingWriter; } } } } }
114 namespace Aspose { namespace Words { namespace RW { namespace Dml { namespace Writer { class DmlGraphicWriter; } } } } }
115 namespace Aspose { namespace Words { namespace RW { namespace Dml { namespace Writer { class DmlGroupShapeWriter; } } } } }
116 namespace Aspose { namespace Words { namespace RW { namespace Dml { namespace Writer { class DmlPictureWriter; } } } } }
117 namespace Aspose { namespace Words { namespace RW { namespace Dml { namespace Writer { class DmlShapeWriter; } } } } }
118 namespace Aspose { namespace Words { namespace RW { namespace Doc { namespace Escher { class EsShapePrReader; } } } } }
119 namespace Aspose { namespace Words { namespace RW { namespace Html { namespace Writer { class HtmlImageWriter; } } } } }
120 namespace Aspose { namespace Words { namespace RW { namespace MarkupLanguage { namespace Writer { class MarkupLanguageShapeWriter; } } } } }
121 namespace Aspose { namespace Words { namespace RW { namespace Odt { namespace Reader { class OdtCaptionReader; } } } } }
122 namespace Aspose { namespace Words { class RevisionCollection; } }
123 namespace Aspose { namespace Words { namespace Fields { class TocHyperlinkEntryAttributeModifier; } } }
124 namespace Aspose { namespace Words { namespace Fields { class FieldUpdateActionInsertImage; } } }
125 namespace Aspose { namespace Words { class ShapeFieldRemover; } }
126 namespace Aspose { namespace Words { namespace Layout { namespace Core { class SpanShape; } } } }
127 namespace Aspose { namespace Words { namespace Layout { class AttributeConverter; } } }
128 namespace Aspose { namespace Words { namespace Layout { class DocumentSpanConverter; } } }
129 namespace Aspose { namespace Words { namespace Layout { namespace PreAps { class LayoutSpanPicture; } } } }
130 namespace Aspose { namespace Words { namespace Validation { class BookmarkValidator; } } }
131 namespace Aspose { namespace Words { class DocumentBuilder; } }
132 namespace Aspose { namespace Words { namespace Validation { class DocumentPostLoader; } } }
133 namespace Aspose { namespace Words { namespace Validation { class DocumentValidator; } } }
134 namespace Aspose { namespace Words { namespace Validation { class RunPrCollectorBase; } } }
135 namespace Aspose { namespace Words { namespace Validation { class ShapeImageOptimizer; } } }
136 namespace Aspose { namespace Words { class SaveInfo; } }
137 namespace Aspose { namespace Words { namespace Validation { class ShapeIdGenerator; } } }
138 namespace Aspose { namespace Words { namespace Drawing { class Fill; } } }
139 namespace Aspose { namespace Words { namespace Drawing { class GroupShape; } } }
140 namespace Aspose { namespace Words { namespace Drawing { class ImageData; } } }
141 namespace Aspose { namespace Words { namespace Drawing { class Shape; } } }
142 namespace Aspose { namespace Words { namespace ApsBuilder { namespace Spans { class LineApsBuilder; } } } }
143 namespace Aspose { namespace Words { namespace Rendering { class ShapeRenderer; } } }
144 namespace Aspose { namespace Words { namespace ApsBuilder { namespace Shapes { class DmlShapeApsBuilder; } } } }
145 namespace Aspose { namespace Words { namespace ApsBuilder { namespace Shapes { class ShapeApsBuilder; } } } }
146 namespace Aspose { namespace Words { namespace ApsBuilder { namespace Shapes { class ShapeApsBuilderContext; } } } }
147 namespace Aspose { namespace Words { namespace ApsBuilder { namespace Shapes { class ShapeBoundsFinder; } } } }
148 namespace Aspose { namespace Words { namespace ApsBuilder { namespace Shapes { class BrushFactory; } } } }
149 namespace Aspose { namespace Words { namespace ApsBuilder { namespace Shapes { class ShapeInfo; } } } }
150 namespace Aspose { namespace Words { namespace ApsBuilder { namespace Shapes { class ShapeTransformer; } } } }
151 namespace Aspose { namespace Words { namespace RW { namespace Html { namespace Css { namespace New { class CssHRuleHeightStyleConverter; } } } } } }
152 namespace Aspose { namespace Words { namespace RW { namespace Html { namespace Css { namespace New { class CssBorderStyleConverter; } } } } } }
153 namespace Aspose { namespace Words { namespace RW { namespace Html { namespace Css { namespace New { class CssWidthPropertyDef; } } } } } }
154 namespace Aspose { namespace Words { namespace RW { namespace Nrx { namespace Writer { class NrxShapeDefaultsWriter; } } } } }
155 namespace Aspose { namespace Words { namespace RW { namespace Rtf { namespace Reader { class RtfContentHandler; } } } } }
156 namespace Aspose { namespace Words { namespace RW { namespace Rtf { namespace Reader { class RtfLegacyShapeHandler; } } } } }
157 namespace Aspose { namespace Words { namespace RW { namespace MarkupLanguage { namespace Writer { class MarkupLanguageShapeResourceWriter; } } } } }
158 namespace Aspose { namespace Words { namespace RW { namespace Vml { class VmlFillReader; } } } }
159 namespace Aspose { namespace Words { namespace Validation { namespace DmlToVml { class DmlPictureToShapeConverter; } } } }
160 namespace Aspose { namespace Words { namespace RW { namespace Dml { namespace Writer { class DmlDrawingWriter; } } } } }
161 namespace Aspose { namespace Words { namespace RW { namespace Odt { namespace Reader { class OdtObjectReader; } } } } }
162 namespace Aspose { namespace Words { namespace RW { namespace Odt { namespace Reader { class OdtPathReader; } } } } }
163 namespace Aspose { namespace Words { namespace RW { namespace Doc { namespace Escher { class EsShapeBounds; } } } } }
164 namespace Aspose { namespace Words { namespace Drawing { class Stroke; } } }
165 namespace Aspose { namespace Words { namespace Drawing { class TextBox; } } }
166 namespace Aspose { namespace Words { class NodeImporter; } }
167 namespace Aspose { namespace Words { namespace Lists { class ListCollection; } } }
168 namespace Aspose { namespace Words { namespace ApsBuilder { namespace Shapes { class GeometryResolver; } } } }
169 namespace Aspose { namespace Words { namespace RW { namespace Dml { namespace Reader { class DmlDrawingReader; } } } } }
170 namespace Aspose { namespace Words { namespace RW { namespace Nrx { namespace Reader { class NrxDocumentReaderBase; } } } } }
171 namespace Aspose { namespace Words { namespace RW { namespace Docx { namespace Writer { class DocxDocumentWriterBase; } } } } }
172 namespace Aspose { namespace Words { namespace RW { namespace Odt { class OdtEnum; } } } }
173 namespace Aspose { namespace Words { namespace RW { namespace Odt { namespace Reader { class OdtCustomShapeReader; } } } } }
174 namespace Aspose { namespace Words { namespace RW { namespace Odt { namespace Reader { class OdtGReader; } } } } }
175 namespace Aspose { namespace Words { namespace RW { namespace Odt { namespace Reader { class OdtEllipseReader; } } } } }
176 namespace Aspose { namespace Words { namespace RW { namespace Odt { namespace Reader { class OdtRectReader; } } } } }
177 namespace Aspose { namespace Words { namespace RW { namespace Odt { namespace Reader { class OdtBinaryObjectReader; } } } } }
178 namespace Aspose { namespace Words { namespace RW { namespace Odt { namespace Reader { class OdtConnectorReader; } } } } }
179 namespace Aspose { namespace Words { namespace RW { namespace Odt { namespace Reader { class OdtLineReader; } } } } }
180 namespace Aspose { namespace Words { namespace RW { namespace Odt { namespace Reader { class OdtListLevelPropertiesReader; } } } } }
181 namespace Aspose { namespace Words { namespace RW { namespace Odt { namespace Writer { class OdtEnhancedGeometryWriter; } } } } }
182 namespace Aspose { namespace Words { namespace RW { namespace Odt { namespace Writer { class OdtShapeWriter; } } } } }
183 namespace Aspose { namespace Words { namespace RW { namespace Odt { namespace Writer { class OdtGraphicPropertiesWriter; } } } } }
184 namespace Aspose { namespace Words { namespace RW { namespace Vml { class VmlOleReader; } } } }
185 namespace Aspose { namespace Words { namespace RW { namespace Vml { class VmlShapeReader; } } } }
186 namespace Aspose { namespace Words { namespace RW { namespace Odt { namespace Reader { class OdtTextBoxReader; } } } } }
187 namespace Aspose { namespace Words { namespace RW { namespace Odt { namespace Reader { class OdtFrameReader; } } } } }
188 namespace Aspose { namespace Words { namespace RW { namespace Odt { namespace Reader { class OdtParagraphReader; } } } } }
189 namespace Aspose { namespace Words { namespace RW { namespace Docx { namespace Writer { class DocxNumberingWriter; } } } } }
190 namespace Aspose { namespace Words { namespace RW { namespace Doc { namespace Escher { class EsDrawingFiler; } } } } }
191 namespace Aspose { namespace Words { namespace RW { namespace Doc { namespace Escher { class EsShapeFiler; } } } } }
192 namespace Aspose { namespace Words { namespace RW { namespace Doc { namespace Escher { class EsShapePrWriter; } } } } }
193 namespace Aspose { namespace Words { namespace RW { namespace Doc { namespace Reader { class ModelBuilder; } } } } }
194 namespace Aspose { namespace Words { namespace RW { namespace Doc { namespace Reader { class Parser; } } } } }
195 namespace Aspose { namespace Words { namespace RW { namespace Doc { namespace Shapes { class Fspa; } } } } }
196 namespace Aspose { namespace Words { namespace RW { namespace Doc { namespace Shapes { class Picf; } } } } }
197 namespace Aspose { namespace Words { namespace RW { namespace Doc { namespace Writer { class ShapeWriter; } } } } }
198 namespace Aspose { namespace Words { namespace RW { namespace Html { namespace Reader { class HtmlListReader; } } } } }
199 namespace Aspose { namespace Words { namespace RW { namespace Html { namespace Reader { class HtmlReader; } } } } }
200 namespace Aspose { namespace Words { namespace RW { namespace Odt { namespace Writer { class OdtAutoStylesWriter; } } } } }
201 namespace Aspose { namespace Words { namespace RW { namespace Rtf { namespace Reader { class RtfPictureHandler; } } } } }
202 namespace Aspose { namespace Words { namespace RW { namespace Rtf { namespace Reader { class RtfModelBuilder; } } } } }
203 namespace Aspose { namespace Words { namespace RW { namespace Rtf { namespace Reader { class RtfOleHandler; } } } } }
204 namespace Aspose { namespace Words { namespace RW { namespace Rtf { namespace Reader { class RtfShapeHandler; } } } } }
205 namespace Aspose { namespace Words { namespace RW { namespace Rtf { namespace Reader { class RtfShapePropertyHandler; } } } } }
206 namespace Aspose { namespace Words { namespace RW { namespace Rtf { namespace Writer { class RtfOleWriter; } } } } }
207 namespace Aspose { namespace Words { namespace RW { namespace Rtf { namespace Writer { class RtfShapePrWriter; } } } } }
208 namespace Aspose { namespace Words { namespace RW { namespace Rtf { namespace Writer { class RtfShapeWriter; } } } } }
209 namespace Aspose { namespace Words { namespace RW { namespace Rtf { namespace Writer { class RtfWriter; } } } } }
210 namespace Aspose { namespace Words { namespace RW { namespace Vml { class VmlShapeWriter; } } } }
211 namespace Aspose { namespace Words { namespace RW { namespace Wml { namespace Writer { class WmlWriter; } } } } }
212 namespace Aspose { namespace Words { namespace Model { namespace Nrx { class NrxXmlUtil; } } } }
213 namespace Aspose { namespace Words { namespace Drawing { namespace Core { enum class RelativeWidth; } } } }
214 namespace Aspose { namespace Words { namespace Drawing { namespace Core { enum class RelativeHeight; } } } }
215 namespace Aspose { namespace Words { namespace Drawing { namespace Core { enum class ConnectorType; } } } }
216 namespace Aspose { namespace Words { namespace Drawing { enum class LayoutFlow; } } }
217 namespace Aspose { namespace Words { namespace Drawing { namespace Charts { namespace Core { namespace ComplexTypes { enum class DmlChartUserShapeAnchorType; } } } } } }
218 namespace Aspose { namespace Words { class Paragraph; } }
219 namespace Aspose { namespace Words { class DocumentBase; } }
220 namespace Aspose { namespace Words { class RunPr; } }
221 namespace Aspose { namespace Words { namespace Revisions { class EditRevision; } } }
222 namespace Aspose { namespace Words { namespace Revisions { class MoveRevision; } } }
223 namespace Aspose { namespace Words { class Font; } }
224 namespace Aspose { namespace Words { namespace Drawing { namespace Core { class Locks; } } } }
225 namespace Aspose { namespace Words { namespace Drawing { namespace Core { class ShapePr; } } } }
226 namespace Aspose { namespace Words { namespace Themes { class Theme; } } }
227 namespace Aspose { namespace Words { namespace Drawing { namespace Core { class Graphic; } } } }
228 namespace Aspose { namespace Words { namespace Drawing { namespace Core { namespace Dml { enum class DmlNodeType; } } } } }
229 namespace Aspose { namespace Words { class Node; } }
230 namespace Aspose { namespace Words { class INodeCloningListener; } }
231 namespace Aspose { namespace Images { class ImageSizeCore; } }
232 namespace Aspose { namespace Words { class PageSetup; } }
233 namespace Aspose { namespace Words { namespace Drawing { namespace Core { class PathPoint; } } } }
234 
235 namespace Aspose {
236 
237 namespace Words {
238 
239 namespace Drawing {
240 
241 
242 /// <summary>
243 /// Base class for objects in the drawing layer, such as an AutoShape, freeform, OLE object, ActiveX control, or picture.
244 /// </summary>
245 /// <remarks>
246 /// <p>This is an abstract class. The two derived classes that you can instantiate
247 /// are <see cref="Aspose::Words::Drawing::Shape" /> and <see cref="Aspose::Words::Drawing::GroupShape" />.</p>
248 /// <p>A shape is a node in the document tree.</p>
249 /// <p>If the shape is a child of a <see cref="Aspose::Words::Paragraph" /> object, then the shape is said to be "top-level".
250 /// Top-level shapes are measured and positioned in points.</p>
251 /// <p>A shape can also occur as a child of a <see cref="Aspose::Words::Drawing::GroupShape" /> object when several shapes
252 /// are grouped. Child shapes of a group shape are positioned in the coordinate space and units
253 /// defined by the <see cref="Aspose::Words::Drawing::ShapeBase::get_CoordSize" /> and <see cref="Aspose::Words::Drawing::ShapeBase::get_CoordOrigin" /> properties of the parent
254 /// group shape.</p>
255 /// <p>A shape can be positioned inline with text or floating. The positioning method is controlled
256 /// using the <see cref="Aspose::Words::Drawing::ShapeBase::get_WrapType" /> property.</p>
257 /// <p>When a shape is floating, it is positioned relative to something (e.g the current paragraph,
258 /// the margin or the page). The relative positioning of the shape is specified using the
259 /// <see cref="Aspose::Words::Drawing::ShapeBase::get_RelativeHorizontalPosition" /> and <see cref="Aspose::Words::Drawing::ShapeBase::get_RelativeVerticalPosition" /> properties.</p>
260 /// <p>A floating shape be positioned explicitly using the <see cref="Aspose::Words::Drawing::ShapeBase::get_Left" /> and <see cref="Aspose::Words::Drawing::ShapeBase::get_Top" />
261 /// properties or aligned relative to some other object using the <see cref="Aspose::Words::Drawing::ShapeBase::get_HorizontalAlignment" />
262 /// and <see cref="Aspose::Words::Drawing::ShapeBase::get_VerticalAlignment" /> properties.</p>
263 /// <seealso cref="Aspose::Words::Drawing::Shape" />
264 /// <seealso cref="Aspose::Words::Drawing::GroupShape" />
265 /// </remarks>
266 class ShapeBase : public Aspose::Words::CompositeNode, public Aspose::Words::IInline, public Aspose::Words::Drawing::Core::IShape, public Aspose::Words::IShapeAttrSource, public Aspose::Words::Revisions::ITrackableNode
267 {
268  typedef ShapeBase ThisType;
269  typedef Aspose::Words::CompositeNode BaseType;
270  typedef Aspose::Words::IInline BaseType1;
271  typedef Aspose::Words::Drawing::Core::IShape BaseType2;
272  typedef Aspose::Words::IShapeAttrSource BaseType3;
273  typedef Aspose::Words::Revisions::ITrackableNode BaseType4;
274 
275  typedef ::System::BaseTypesInfo<BaseType, BaseType1, BaseType2, BaseType3, BaseType4> ThisTypeBaseTypesInfo;
276  ASPOSE_WORDS_SHARED_RTTI_INFO_DECL();
277 
279  friend class Aspose::Words::ApsBuilder::Dml::DmlCompositeNodeRenderer;
280  friend class Aspose::Words::ApsBuilder::Shapes::Content::TextBoxMetrics;
281  friend class Aspose::Words::Layout::Core::LayoutShapeDrawingMLAdapter;
282  friend class Aspose::Words::Layout::Core::LayoutShapeVMLAdapter;
283  friend class Aspose::Words::Drawing::Core::Dml::DmlNodeCustomizer;
284  friend class Aspose::Words::Drawing::Core::Dml::DmlShapeInserter;
285  friend class Aspose::Words::Drawing::Core::Dml::DmlWrapPolygonUtils;
286  friend class Aspose::Words::Fields::FieldIncludePictureUpdater;
287  friend class Aspose::Words::ApsBuilder::Dml::Text::DmlTextShapeToShapeConvertor;
288  friend class Aspose::Words::ApsBuilder::Dml::Text::DmlTextShapeRenderer;
289  friend class Aspose::Words::ApsBuilder::Dml::DmlShapeRendererBase;
290  friend class Aspose::Words::ApsBuilder::Shapes::Extrusion::ExtrusionParametersBuilder;
291  friend class Aspose::Words::Comparison::ShapeComparer;
292  friend class Aspose::Words::Comparison::StoryComparer;
293  friend class Aspose::Words::RW::Dml::Writer::DmlShapeValidator;
294  friend class Aspose::Words::RW::Docx::Reader::ChartInserter;
295  friend class Aspose::Words::VideoInserter;
296  friend class Aspose::Words::Math::OfficeMathUtil;
297  friend class Aspose::Words::Replacing::FindReplaceIndexer;
298  friend class Aspose::Words::RW::Nrx::Writer::NrxFieldsWriter;
299  friend class Aspose::Words::RW::MarkupLanguage::Writer::ImageShapeWriter;
300  friend class Aspose::Words::RW::MarkupLanguage::Writer::SvgShapeWriter;
301  friend class Aspose::Words::Validation::VmlToDml::VmlFormulaToDmlConverter;
302  friend class Aspose::Words::Validation::VmlToDml::VmlFillToDmlConverter;
303  friend class Aspose::Words::Validation::VmlToDml::VmlGeometryToDmlConverter;
304  friend class Aspose::Words::Validation::VmlToDml::VmlGradientToDmlConverter;
305  friend class Aspose::Words::Validation::VmlToDml::VmlToDmlComplexShapeConverter;
306  friend class Aspose::Words::Validation::VmlToDml::VmlOutlineToDmlConverter;
307  friend class Aspose::Words::Validation::VmlToDml::VmlShapeToDmlShapeConverter;
308  friend class Aspose::Words::RW::Dml::Writer::DmlGraphicFrameWriter;
309  friend class Aspose::Words::RW::Docx::Reader::DocxBackgroundReader;
310  friend class Aspose::Words::RW::Docx::Writer::DocxBackgroundWriter;
311  friend class Aspose::Words::RW::Html::Css::New::DocumentFormatter;
312  friend class Aspose::Words::RW::HtmlCommon::HtmlImageUtil;
313  friend class Aspose::Words::RW::Nrx::Reader::NrxRunReaderBase;
314  friend class Aspose::Words::Drawing::ShapeAdaptor;
315  friend class Aspose::Words::Drawing::Core::Dml::DmlNode;
316  friend class Aspose::Words::Drawing::Core::DrawingMLImageDataSource;
317  friend class Aspose::Words::Drawing::Core::VmlNode;
318  friend class Aspose::Words::Drawing::ShapeSizeValidationHelper;
319  friend class Aspose::Words::Fields::FieldBarcodeUtil;
320  friend class Aspose::Words::Fields::ImageResultFieldMergeFormatApplier;
321  friend class Aspose::Words::RW::Odt::Reader::OdtChartToDmlConverter;
322  friend class Aspose::Words::RW::Odt::Reader::OdtChartToDmlConverterUtil;
323  friend class Aspose::Words::Validation::ShapeValidator;
324  friend class Aspose::Words::Validation::UnsupportedShapeDetector;
325  friend class Aspose::Words::Validation::DmlToVml::DmlGeometryToVmlConverter;
326  friend class Aspose::Words::Validation::DmlToVml::DmlShapeToShapeConverter;
327  friend class Aspose::Words::RW::Dml::Reader::DmlContentPartReader;
328  friend class Aspose::Words::RW::Dml::Reader::DmlDiagramReader;
329  friend class Aspose::Words::RW::Dml::Reader::DmlChartReader;
330  friend class Aspose::Words::RW::Dml::Reader::DmlChartShapesReader;
331  friend class Aspose::Words::RW::Dml::Reader::DmlCompositeNodeReader;
332  friend class Aspose::Words::RW::Dml::Reader::DmlPictureReader;
333  friend class Aspose::Words::RW::Dml::Reader::DmlShapeReader;
334  friend class Aspose::Words::ApsBuilder::Dml::Charts::DmlChartSpaceRenderer;
335  friend class Aspose::Words::Drawing::Core::Dml::DmlCompositeNode;
336  friend class Aspose::Words::Drawing::Core::Dml::DmlFillableNode;
337  friend class Aspose::Words::Drawing::Core::Dml::DmlGroupShape;
338  friend class Aspose::Words::ApsBuilder::Dml::DmlChartRenderer;
339  friend class Aspose::Words::ApsBuilder::Dml::Diagram::DmlDiagramDrawingRenderer;
340  friend class Aspose::Words::ApsBuilder::Dml::DmlNodeRendererFactory;
341  friend class Aspose::Words::Drawing::Core::Dml::DmlShapeBase;
342  friend class Aspose::Words::Drawing::Core::Dml::DmlShape;
343  friend class Aspose::Words::ApsBuilder::Dml::DmlToApsConverter;
344  friend class Aspose::Words::Drawing::Core::Dml::Fills::DmlFill;
345  friend class Aspose::Words::Drawing::Core::Dml::Outlines::DmlOutline;
346  friend class Aspose::Words::Drawing::Core::Dml::Outlines::DmlOutline;
347  friend class Aspose::Words::ApsBuilder::Dml::DmlShapeRenderer;
348  friend class Aspose::Words::ApsBuilder::Shapes::TextBoxSizesCalculator;
349  friend class Aspose::Words::Layout::Core::DocumentLayoutBuilder;
350  friend class Aspose::Words::Layout::Core::WarningGenerator;
351  friend class Aspose::Words::Layout::RunWrapFinder;
352  friend class Aspose::Words::Validation::DmlToVml::DmlShapePrFiller;
353  friend class Aspose::Words::Markup::SdtContentUpdater;
354  friend class Aspose::Words::Validation::DrawingMLIdValidator;
355  friend class Aspose::Words::Validation::DmlToVml::DmlUtil;
356  friend class Aspose::Words::RW::Dml::Writer::DmlCanvasWriter;
357  friend class Aspose::Words::RW::Dml::Writer::DmlChartSpaceWriter;
358  friend class Aspose::Words::RW::Dml::Writer::DmlChartWriter;
359  friend class Aspose::Words::RW::Dml::Writer::DmlContentPartWriter;
360  friend class Aspose::Words::RW::Dml::Writer::DmlDiagramDrawingWriter;
361  friend class Aspose::Words::RW::Dml::Writer::DmlGraphicWriter;
362  friend class Aspose::Words::RW::Dml::Writer::DmlGroupShapeWriter;
363  friend class Aspose::Words::RW::Dml::Writer::DmlPictureWriter;
364  friend class Aspose::Words::RW::Dml::Writer::DmlShapeWriter;
365  friend class Aspose::Words::RW::Doc::Escher::EsShapePrReader;
366  friend class Aspose::Words::RW::Html::Writer::HtmlImageWriter;
367  friend class Aspose::Words::RW::MarkupLanguage::Writer::MarkupLanguageShapeWriter;
368  friend class Aspose::Words::RW::Odt::Reader::OdtCaptionReader;
369  friend class Aspose::Words::RevisionCollection;
370  friend class Aspose::Words::Fields::TocHyperlinkEntryAttributeModifier;
371  friend class Aspose::Words::Fields::FieldUpdateActionInsertImage;
372  friend class Aspose::Words::ShapeFieldRemover;
373  friend class Aspose::Words::Layout::Core::SpanShape;
374  friend class Aspose::Words::Layout::AttributeConverter;
375  friend class Aspose::Words::Layout::DocumentSpanConverter;
376  friend class Aspose::Words::Layout::PreAps::LayoutSpanPicture;
377  friend class Aspose::Words::Validation::BookmarkValidator;
378  friend class Aspose::Words::DocumentBuilder;
379  friend class Aspose::Words::Validation::DocumentPostLoader;
380  friend class Aspose::Words::Validation::DocumentValidator;
381  friend class Aspose::Words::Validation::RunPrCollectorBase;
382  friend class Aspose::Words::Validation::ShapeImageOptimizer;
383  friend class Aspose::Words::SaveInfo;
384  friend class Aspose::Words::Validation::ShapeIdGenerator;
385  friend class Aspose::Words::Drawing::Fill;
386  friend class Aspose::Words::Drawing::GroupShape;
387  friend class Aspose::Words::Drawing::ImageData;
388  friend class Aspose::Words::Drawing::Shape;
389  friend class Aspose::Words::ApsBuilder::Spans::LineApsBuilder;
390  friend class Aspose::Words::Rendering::ShapeRenderer;
391  friend class Aspose::Words::ApsBuilder::Shapes::DmlShapeApsBuilder;
392  friend class Aspose::Words::ApsBuilder::Shapes::ShapeApsBuilder;
393  friend class Aspose::Words::ApsBuilder::Shapes::ShapeApsBuilderContext;
394  friend class Aspose::Words::ApsBuilder::Shapes::ShapeBoundsFinder;
395  friend class Aspose::Words::ApsBuilder::Shapes::BrushFactory;
396  friend class Aspose::Words::ApsBuilder::Shapes::ShapeInfo;
397  friend class Aspose::Words::ApsBuilder::Shapes::ShapeTransformer;
398  friend class Aspose::Words::RW::Html::Css::New::CssHRuleHeightStyleConverter;
399  friend class Aspose::Words::RW::Html::Css::New::CssBorderStyleConverter;
400  friend class Aspose::Words::RW::Html::Css::New::CssWidthPropertyDef;
401  friend class Aspose::Words::RW::Nrx::Writer::NrxShapeDefaultsWriter;
402  friend class Aspose::Words::RW::Rtf::Reader::RtfContentHandler;
403  friend class Aspose::Words::RW::Rtf::Reader::RtfLegacyShapeHandler;
404  friend class Aspose::Words::RW::MarkupLanguage::Writer::MarkupLanguageShapeResourceWriter;
405  friend class Aspose::Words::RW::Vml::VmlFillReader;
406  friend class Aspose::Words::Validation::DmlToVml::DmlPictureToShapeConverter;
407  friend class Aspose::Words::RW::Dml::Writer::DmlDrawingWriter;
408  friend class Aspose::Words::RW::Odt::Reader::OdtObjectReader;
409  friend class Aspose::Words::RW::Odt::Reader::OdtPathReader;
410  friend class Aspose::Words::RW::Doc::Escher::EsShapeBounds;
411  friend class Aspose::Words::Drawing::Stroke;
412  friend class Aspose::Words::Drawing::TextBox;
413  friend class Aspose::Words::NodeImporter;
414  friend class Aspose::Words::Lists::ListCollection;
415  friend class Aspose::Words::ApsBuilder::Shapes::GeometryResolver;
416  friend class Aspose::Words::RW::Dml::Reader::DmlDrawingReader;
417  friend class Aspose::Words::RW::Nrx::Reader::NrxDocumentReaderBase;
418  friend class Aspose::Words::RW::Docx::Writer::DocxDocumentWriterBase;
419  friend class Aspose::Words::RW::Odt::OdtEnum;
420  friend class Aspose::Words::RW::Odt::Reader::OdtCustomShapeReader;
421  friend class Aspose::Words::RW::Odt::Reader::OdtGReader;
422  friend class Aspose::Words::RW::Odt::Reader::OdtEllipseReader;
423  friend class Aspose::Words::RW::Odt::Reader::OdtRectReader;
424  friend class Aspose::Words::RW::Odt::Reader::OdtBinaryObjectReader;
425  friend class Aspose::Words::RW::Odt::Reader::OdtConnectorReader;
426  friend class Aspose::Words::RW::Odt::Reader::OdtLineReader;
427  friend class Aspose::Words::RW::Odt::Reader::OdtListLevelPropertiesReader;
428  friend class Aspose::Words::RW::Odt::Writer::OdtEnhancedGeometryWriter;
429  friend class Aspose::Words::RW::Odt::Writer::OdtShapeWriter;
430  friend class Aspose::Words::RW::Odt::Writer::OdtGraphicPropertiesWriter;
431  friend class Aspose::Words::RW::Vml::VmlOleReader;
432  friend class Aspose::Words::RW::Vml::VmlShapeReader;
433  friend class Aspose::Words::RW::Odt::Reader::OdtTextBoxReader;
434  friend class Aspose::Words::RW::Odt::Reader::OdtFrameReader;
435  friend class Aspose::Words::RW::Odt::Reader::OdtParagraphReader;
436  friend class Aspose::Words::RW::Docx::Writer::DocxNumberingWriter;
437  friend class Aspose::Words::RW::Doc::Escher::EsDrawingFiler;
438  friend class Aspose::Words::RW::Doc::Escher::EsShapeFiler;
439  friend class Aspose::Words::RW::Doc::Escher::EsShapePrWriter;
440  friend class Aspose::Words::RW::Doc::Reader::ModelBuilder;
441  friend class Aspose::Words::RW::Doc::Reader::Parser;
442  friend class Aspose::Words::RW::Doc::Shapes::Fspa;
443  friend class Aspose::Words::RW::Doc::Shapes::Picf;
444  friend class Aspose::Words::RW::Doc::Writer::ShapeWriter;
445  friend class Aspose::Words::RW::Html::Reader::HtmlListReader;
446  friend class Aspose::Words::RW::Html::Reader::HtmlReader;
447  friend class Aspose::Words::RW::Odt::Writer::OdtAutoStylesWriter;
448  friend class Aspose::Words::RW::Rtf::Reader::RtfPictureHandler;
449  friend class Aspose::Words::RW::Rtf::Reader::RtfModelBuilder;
450  friend class Aspose::Words::RW::Rtf::Reader::RtfOleHandler;
451  friend class Aspose::Words::RW::Rtf::Reader::RtfShapeHandler;
452  friend class Aspose::Words::RW::Rtf::Reader::RtfShapePropertyHandler;
453  friend class Aspose::Words::RW::Rtf::Writer::RtfOleWriter;
454  friend class Aspose::Words::RW::Rtf::Writer::RtfShapePrWriter;
455  friend class Aspose::Words::RW::Rtf::Writer::RtfShapeWriter;
456  friend class Aspose::Words::RW::Rtf::Writer::RtfWriter;
457  friend class Aspose::Words::RW::Vml::VmlShapeWriter;
458  friend class Aspose::Words::RW::Wml::Writer::WmlWriter;
459  friend class Aspose::Words::Model::Nrx::NrxXmlUtil;
460 
461 public:
462  using Aspose::Words::CompositeNode::Clone;
463 
464 public:
465 
466  ASPOSE_WORDS_SHARED_API System::SharedPtr<Aspose::Words::Paragraph> get_ParentParagraph_IInline();
467  ASPOSE_WORDS_SHARED_API System::SharedPtr<Aspose::Words::DocumentBase> get_Document_IInline();
468  ASPOSE_WORDS_SHARED_API System::SharedPtr<Aspose::Words::RunPr> get_RunPr_IInline();
469  ASPOSE_WORDS_SHARED_API void set_RunPr_IInline(System::SharedPtr<Aspose::Words::RunPr> value);
470  ASPOSE_WORDS_SHARED_API int32_t get_ZOrder_IShape();
471  ASPOSE_WORDS_SHARED_API void set_ZOrder_IShape(int32_t value);
472  ASPOSE_WORDS_SHARED_API System::SharedPtr<Aspose::Words::Revisions::EditRevision> get_InsertRevision();
473  ASPOSE_WORDS_SHARED_API void set_InsertRevision(System::SharedPtr<Aspose::Words::Revisions::EditRevision> value);
474  ASPOSE_WORDS_SHARED_API System::SharedPtr<Aspose::Words::Revisions::EditRevision> get_DeleteRevision();
475  ASPOSE_WORDS_SHARED_API void set_DeleteRevision(System::SharedPtr<Aspose::Words::Revisions::EditRevision> value);
476  ASPOSE_WORDS_SHARED_API System::SharedPtr<Aspose::Words::Revisions::MoveRevision> get_MoveFromRevision();
477  ASPOSE_WORDS_SHARED_API void set_MoveFromRevision(System::SharedPtr<Aspose::Words::Revisions::MoveRevision> value);
478  ASPOSE_WORDS_SHARED_API System::SharedPtr<Aspose::Words::Revisions::MoveRevision> get_MoveToRevision();
479  ASPOSE_WORDS_SHARED_API void set_MoveToRevision(System::SharedPtr<Aspose::Words::Revisions::MoveRevision> value);
480  /// <summary>
481  /// Defines the text displayed when the mouse pointer moves over the shape.
482  /// </summary>
483  /// <remarks>
484  /// <p>The default value is an empty string.</p>
485  /// </remarks>
486  ASPOSE_WORDS_SHARED_API System::String get_ScreenTip();
487  /// Setter for Aspose::Words::Drawing::ShapeBase::get_ScreenTip
488  ASPOSE_WORDS_SHARED_API void set_ScreenTip(System::String value);
489  /// <summary>
490  /// Gets or sets the full hyperlink address for a shape.
491  /// </summary>
492  /// <remarks>
493  /// <p>The default value is an empty string.</p>
494  /// <p>Below are examples of valid values for this property:</p>
495  /// <p>Full URI: <c>https://www.aspose.com/</c>.</p>
496  /// <p>Full file name: <c>C:\\\\My Documents\\\\SalesReport.doc</c>.</p>
497  /// <para>Relative URI: <c>../../../resource.txt</c></para>
498  /// <p>Relative file name: <c>..\\\\My Documents\\\\SalesReport.doc</c>.</p>
499  /// <p>Bookmark within another document: <c>https://www.aspose.com/Products/Default.aspx#Suites</c></p>
500  /// <p>Bookmark within this document: <c>#BookmakName</c>.</p>
501  /// </remarks>
502  ASPOSE_WORDS_SHARED_API System::String get_HRef();
503  /// Setter for Aspose::Words::Drawing::ShapeBase::get_HRef
504  ASPOSE_WORDS_SHARED_API void set_HRef(System::String value);
505  /// <summary>
506  /// Gets or sets the target frame for the shape hyperlink.
507  /// </summary>
508  /// <remarks>
509  /// <p>The default value is an empty string.</p>
510  /// </remarks>
511  ASPOSE_WORDS_SHARED_API System::String get_Target();
512  /// Setter for Aspose::Words::Drawing::ShapeBase::get_Target
513  ASPOSE_WORDS_SHARED_API void set_Target(System::String value);
514  /// <summary>
515  /// Defines alternative text to be displayed instead of a graphic.
516  /// </summary>
517  /// <remarks>
518  /// <p>The default value is an empty string.</p>
519  /// </remarks>
520  ASPOSE_WORDS_SHARED_API System::String get_AlternativeText();
521  /// Setter for Aspose::Words::Drawing::ShapeBase::get_AlternativeText
522  ASPOSE_WORDS_SHARED_API void set_AlternativeText(System::String value);
523  /// <summary>
524  /// Gets or sets the title (caption) of the current shape object.
525  /// </summary>
526  /// <remarks>
527  /// <para>Default is empty string.</para>
528  /// <para>Cannot be null, but can be an empty string.</para>
529  /// </remarks>
530  ASPOSE_WORDS_SHARED_API System::String get_Title();
531  /// Setter for Aspose::Words::Drawing::ShapeBase::get_Title
532  ASPOSE_WORDS_SHARED_API void set_Title(System::String value);
533  /// <summary>
534  /// Gets or sets the optional shape name.
535  /// </summary>
536  /// <remarks>
537  /// <para>Default is empty string.</para>
538  /// <para>Cannot be null, but can be an empty string.</para>
539  /// </remarks>
540  ASPOSE_WORDS_SHARED_API System::String get_Name();
541  /// Setter for Aspose::Words::Drawing::ShapeBase::get_Name
542  ASPOSE_WORDS_SHARED_API void set_Name(System::String value);
543  /// <summary>
544  /// Returns true if this object was inserted in Microsoft Word while change tracking was enabled.
545  /// </summary>
546  ASPOSE_WORDS_SHARED_API bool get_IsInsertRevision();
547  /// <summary>
548  /// Returns true if this object was deleted in Microsoft Word while change tracking was enabled.
549  /// </summary>
550  ASPOSE_WORDS_SHARED_API bool get_IsDeleteRevision();
551  /// <summary>
552  /// Returns <b>true</b> if this object was moved (deleted) in Microsoft Word while change tracking was enabled.
553  /// </summary>
554  ASPOSE_WORDS_SHARED_API bool get_IsMoveFromRevision();
555  /// <summary>
556  /// Returns <b>true</b> if this object was moved (inserted) in Microsoft Word while change tracking was enabled.
557  /// </summary>
558  ASPOSE_WORDS_SHARED_API bool get_IsMoveToRevision();
559  /// <summary>
560  /// Returns true if this shape is not a child of a group shape.
561  /// </summary>
562  ASPOSE_WORDS_SHARED_API bool get_IsTopLevel();
563  /// <summary>
564  /// Returns true if this is a group shape.
565  /// </summary>
566  ASPOSE_WORDS_SHARED_API bool get_IsGroup();
567  /// <summary>
568  /// Returns true if this shape is an image shape.
569  /// </summary>
570  ASPOSE_WORDS_SHARED_API bool get_IsImage();
571  /// <summary>
572  /// Returns true if this shape is a horizontal rule.
573  /// </summary>
574  ASPOSE_WORDS_SHARED_API bool get_IsHorizontalRule();
575  /// <summary>
576  /// Returns true if this shape is a WordArt object.
577  /// </summary>
578  /// <remarks>
579  /// Works till 2007 compatibility mode.
580  /// In 2010 and higher compatibility mode WordArt is just a TextBox with fancy fonts.
581  /// </remarks>
582  ASPOSE_WORDS_SHARED_API bool get_IsWordArt();
583  /// <summary>
584  /// Returns true if the shape type allows the shape to have an image.
585  /// </summary>
586  /// <remarks>
587  /// <para>Although Microsoft Word has a special shape type for images, it appears that in Microsoft Word documents any shape
588  /// except a group shape can have an image, therefore this property returns true for all shapes except <see cref="Aspose::Words::Drawing::GroupShape" />.</para>
589  /// </remarks>
590  ASPOSE_WORDS_SHARED_API bool get_CanHaveImage();
591  /// <summary>
592  /// Specifies whether the shape's anchor is locked.
593  /// </summary>
594  /// <remarks>
595  /// <p>The default value is <b>false</b>.</p>
596  /// <p>Has effect only for top level shapes.</p>
597  /// <p>This property affects behavior of the shape's anchor in Microsoft Word.
598  /// When the anchor is not locked, moving the shape in Microsoft Word can move
599  /// the shape's anchor too.</p>
600  /// </remarks>
601  ASPOSE_WORDS_SHARED_API bool get_AnchorLocked();
602  /// Setter for Aspose::Words::Drawing::ShapeBase::get_AnchorLocked
603  ASPOSE_WORDS_SHARED_API void set_AnchorLocked(bool value);
604  /// <summary>
605  /// Specifies whether the shape's aspect ratio is locked.
606  /// </summary>
607  /// <remarks>
608  /// <p>The default value depends on the <see cref="Aspose::Words::Drawing::ShapeBase::get_ShapeType" />, for the ShapeType.Image it is <b>true</b>
609  /// but for the other shape types it is <b>false</b>.</p>
610  /// <p>Has effect for top level shapes only.</p>
611  /// </remarks>
612  ASPOSE_WORDS_SHARED_API bool get_AspectRatioLocked();
613  /// Setter for Aspose::Words::Drawing::ShapeBase::get_AspectRatioLocked
614  ASPOSE_WORDS_SHARED_API void set_AspectRatioLocked(bool value);
615  /// <summary>
616  /// Gets or sets a value that specifies whether this shape can overlap other shapes.
617  /// </summary>
618  /// <remarks>
619  /// <para>This property affects behavior of the shape in Microsoft Word.
620  /// Aspose.Words ignores the value of this property.</para>
621  /// <para>This property is applicable only to top level shapes.</para>
622  /// <p>The default value is <b>true</b>.</p>
623  /// </remarks>
624  ASPOSE_WORDS_SHARED_API bool get_AllowOverlap();
625  /// Setter for Aspose::Words::Drawing::ShapeBase::get_AllowOverlap
626  ASPOSE_WORDS_SHARED_API void set_AllowOverlap(bool value);
627  /// <summary>
628  /// Specifies whether the shape is below or above text.
629  /// </summary>
630  /// <remarks>
631  /// <p>Has effect only for top level shapes.</p>
632  /// <p>The default value is <b>false</b>.</p>
633  /// <seealso cref="Aspose::Words::Drawing::ShapeBase::get_ZOrder" />
634  /// </remarks>
635  ASPOSE_WORDS_SHARED_API bool get_BehindText();
636  /// Setter for Aspose::Words::Drawing::ShapeBase::get_BehindText
637  ASPOSE_WORDS_SHARED_API void set_BehindText(bool value);
638  /// <summary>
639  /// A quick way to determine if this shape is positioned inline with text.
640  /// </summary>
641  /// <remarks>
642  /// <p>Has effect only for top level shapes.</p>
643  /// </remarks>
644  ASPOSE_WORDS_SHARED_API bool get_IsInline();
645  /// <summary>
646  /// Gets or sets the position of the left edge of the containing block of the shape.
647  /// </summary>
648  /// <remarks>
649  /// <p>For a top-level shape, the value is in points and relative to the shape anchor.</p>
650  /// <p>For shapes in a group, the value is in the coordinate space and units of the parent group.</p>
651  /// <p>The default value is 0.</p>
652  /// <p>Has effect only for floating shapes.</p>
653  /// </remarks>
654  ASPOSE_WORDS_SHARED_API double get_Left();
655  /// Setter for Aspose::Words::Drawing::ShapeBase::get_Left
656  ASPOSE_WORDS_SHARED_API void set_Left(double value);
657  /// <summary>
658  /// Gets or sets the position of the top edge of the containing block of the shape.
659  /// </summary>
660  /// <remarks>
661  /// <p>For a top-level shape, the value is in points and relative to the shape anchor.</p>
662  /// <p>For shapes in a group, the value is in the coordinate space and units of the parent group.</p>
663  /// <p>The default value is 0.</p>
664  /// <p>Has effect only for floating shapes.</p>
665  /// </remarks>
666  ASPOSE_WORDS_SHARED_API double get_Top();
667  /// Setter for Aspose::Words::Drawing::ShapeBase::get_Top
668  ASPOSE_WORDS_SHARED_API void set_Top(double value);
669  /// <summary>
670  /// Gets the position of the right edge of the containing block of the shape.
671  /// </summary>
672  /// <remarks>
673  /// <p>For a top-level shape, the value is in points and relative to the shape anchor.</p>
674  /// <p>For shapes in a group, the value is in the coordinate space and units of the parent group.</p>
675  /// </remarks>
676  ASPOSE_WORDS_SHARED_API double get_Right();
677  /// <summary>
678  /// Gets the position of the bottom edge of the containing block of the shape.
679  /// </summary>
680  /// <remarks>
681  /// <p>For a top-level shape, the value is in points and relative to the shape anchor.</p>
682  /// <p>For shapes in a group, the value is in the coordinate space and units of the parent group.</p>
683  /// </remarks>
684  ASPOSE_WORDS_SHARED_API double get_Bottom();
685  /// <summary>
686  /// Gets or sets the width of the containing block of the shape.
687  /// </summary>
688  /// <remarks>
689  /// <p>For a top-level shape, the value is in points.</p>
690  /// <p>For shapes in a group, the value is in the coordinate space and units of the parent group.</p>
691  /// <p>The default value is 0.</p>
692  /// </remarks>
693  ASPOSE_WORDS_SHARED_API double get_Width();
694  /// Setter for Aspose::Words::Drawing::ShapeBase::get_Width
695  ASPOSE_WORDS_SHARED_API void set_Width(double value);
696  /// <summary>
697  /// Gets or sets the height of the containing block of the shape.
698  /// </summary>
699  /// <remarks>
700  /// <p>For a top-level shape, the value is in points.</p>
701  /// <p>For shapes in a group, the value is in the coordinate space and units of the parent group.</p>
702  /// <p>The default value is 0.</p>
703  /// </remarks>
704  ASPOSE_WORDS_SHARED_API double get_Height();
705  /// Setter for Aspose::Words::Drawing::ShapeBase::get_Height
706  ASPOSE_WORDS_SHARED_API void set_Height(double value);
707  /// <summary>
708  /// Returns or sets the distance (in points) between the document text and the top edge of the shape.
709  /// </summary>
710  /// <remarks>
711  /// <p>The default value is 0.</p>
712  /// <p>Has effect only for top level shapes.</p>
713  /// </remarks>
714  ASPOSE_WORDS_SHARED_API double get_DistanceTop();
715  /// Setter for Aspose::Words::Drawing::ShapeBase::get_DistanceTop
716  ASPOSE_WORDS_SHARED_API void set_DistanceTop(double value);
717  /// <summary>
718  /// Returns or sets the distance (in points) between the document text and the bottom edge of the shape.
719  /// </summary>
720  /// <remarks>
721  /// <p>The default value is 0.</p>
722  /// <p>Has effect only for top level shapes.</p>
723  /// </remarks>
724  ASPOSE_WORDS_SHARED_API double get_DistanceBottom();
725  /// Setter for Aspose::Words::Drawing::ShapeBase::get_DistanceBottom
726  ASPOSE_WORDS_SHARED_API void set_DistanceBottom(double value);
727  /// <summary>
728  /// Returns or sets the distance (in points) between the document text and the left edge of the shape.
729  /// </summary>
730  /// <remarks>
731  /// <p>The default value is 1/8 inch.</p>
732  /// <p>Has effect only for top level shapes.</p>
733  /// </remarks>
734  ASPOSE_WORDS_SHARED_API double get_DistanceLeft();
735  /// Setter for Aspose::Words::Drawing::ShapeBase::get_DistanceLeft
736  ASPOSE_WORDS_SHARED_API void set_DistanceLeft(double value);
737  /// <summary>
738  /// Returns or sets the distance (in points) between the document text and the right edge of the shape.
739  /// </summary>
740  /// <remarks>
741  /// <p>The default value is 1/8 inch.</p>
742  /// <p>Has effect only for top level shapes.</p>
743  /// </remarks>
744  ASPOSE_WORDS_SHARED_API double get_DistanceRight();
745  /// Setter for Aspose::Words::Drawing::ShapeBase::get_DistanceRight
746  ASPOSE_WORDS_SHARED_API void set_DistanceRight(double value);
747  /// <summary>
748  /// Defines the angle (in degrees) that a shape is rotated.
749  /// Positive value corresponds to clockwise rotation angle.
750  /// </summary>
751  /// <remarks>
752  /// <p>The default value is 0.</p>
753  /// </remarks>
754  ASPOSE_WORDS_SHARED_API double get_Rotation();
755  /// Setter for Aspose::Words::Drawing::ShapeBase::get_Rotation
756  ASPOSE_WORDS_SHARED_API void set_Rotation(double value);
757  /// <summary>
758  /// Determines the display order of overlapping shapes.
759  /// </summary>
760  /// <remarks>
761  /// <p>Has effect only for top level shapes.</p>
762  /// <p>The default value is 0.</p>
763  /// <p>The number represents the stacking precedence. A shape with a higher number will be displayed
764  /// as if it were overlapping (in "front" of) a shape with a lower number. </p>
765  /// <p>The order of overlapping shapes is independent for shapes in the header and in the main
766  /// text of the document.</p>
767  /// <p>The display order of child shapes in a group shape is determined by their order
768  /// inside the group shape.</p>
769  /// <seealso cref="Aspose::Words::Drawing::ShapeBase::get_BehindText" />
770  /// </remarks>
771  ASPOSE_WORDS_SHARED_API int32_t get_ZOrder();
772  /// Setter for Aspose::Words::Drawing::ShapeBase::get_ZOrder
773  ASPOSE_WORDS_SHARED_API void set_ZOrder(int32_t value);
774  /// <summary>
775  /// Returns the immediate parent paragraph.
776  /// </summary>
777  /// <remarks>For child shapes of a group shape and child shapes of an Office Math object always returns null.</remarks>
778  ASPOSE_WORDS_SHARED_API System::SharedPtr<Aspose::Words::Paragraph> get_ParentParagraph();
779  /// <summary>
780  /// Gets or sets the location and size of the containing block of the shape.
781  /// </summary>
782  /// <remarks>
783  /// Ignores aspect ratio lock upon setting.
784  /// </remarks>
785  /// <remarks>
786  /// <p>For a top-level shape, the value is in points and relative to the shape anchor.</p>
787  /// <p>For shapes in a group, the value is in the coordinate space and units of the parent group.</p>
788  /// </remarks>
789  ASPOSE_WORDS_SHARED_API System::Drawing::RectangleF get_Bounds();
790  /// Setter for Aspose::Words::Drawing::ShapeBase::get_Bounds
791  ASPOSE_WORDS_SHARED_API void set_Bounds(System::Drawing::RectangleF value);
792  /// <summary>
793  /// Gets the location and size of the containing block of the shape in points, relative to the anchor of the topmost shape.
794  /// </summary>
795  ASPOSE_WORDS_SHARED_API System::Drawing::RectangleF get_BoundsInPoints();
796  /// <summary>
797  /// Gets final extent that this shape object has after applying drawing effects.
798  /// Value is measured in points.
799  /// </summary>
800  ASPOSE_WORDS_SHARED_API System::Drawing::RectangleF get_BoundsWithEffects();
801  /// <summary>
802  /// Gets the shape type.
803  /// </summary>
804  ASPOSE_WORDS_SHARED_API Aspose::Words::Drawing::ShapeType get_ShapeType();
805  /// <summary>
806  /// Gets MarkupLanguage used for this graphic object.
807  /// </summary>
808  ASPOSE_WORDS_SHARED_API Aspose::Words::Drawing::ShapeMarkupLanguage get_MarkupLanguage() const;
809  /// <summary>
810  /// Gets the size of the shape in points.
811  /// </summary>
812  ///
813  ASPOSE_WORDS_SHARED_API System::Drawing::SizeF get_SizeInPoints();
814  /// <summary>
815  /// Switches the orientation of a shape.
816  /// </summary>
817  /// <remarks>
818  /// <p>The default value is <see cref="Aspose::Words::Drawing::FlipOrientation::None" />.</p>
819  /// </remarks>
820  ASPOSE_WORDS_SHARED_API Aspose::Words::Drawing::FlipOrientation get_FlipOrientation();
821  /// Setter for Aspose::Words::Drawing::ShapeBase::get_FlipOrientation
822  ASPOSE_WORDS_SHARED_API void set_FlipOrientation(Aspose::Words::Drawing::FlipOrientation value);
823  /// <summary>
824  /// Specifies relative to what the shape is positioned horizontally.
825  /// </summary>
826  /// <remarks>
827  /// <p>The default value is <see cref="Aspose::Words::Drawing::RelativeHorizontalPosition::Column" />.</p>
828  /// <p>Has effect only for top level floating shapes.</p>
829  /// </remarks>
830  ASPOSE_WORDS_SHARED_API Aspose::Words::Drawing::RelativeHorizontalPosition get_RelativeHorizontalPosition();
831  /// Setter for Aspose::Words::Drawing::ShapeBase::get_RelativeHorizontalPosition
832  ASPOSE_WORDS_SHARED_API void set_RelativeHorizontalPosition(Aspose::Words::Drawing::RelativeHorizontalPosition value);
833  /// <summary>
834  /// Specifies relative to what the shape is positioned vertically.
835  /// </summary>
836  /// <remarks>
837  /// <p>The default value is <see cref="Aspose::Words::Drawing::RelativeVerticalPosition::Paragraph" />.</p>
838  /// <p>Has effect only for top level floating shapes.</p>
839  /// </remarks>
840  ASPOSE_WORDS_SHARED_API Aspose::Words::Drawing::RelativeVerticalPosition get_RelativeVerticalPosition();
841  /// Setter for Aspose::Words::Drawing::ShapeBase::get_RelativeVerticalPosition
842  ASPOSE_WORDS_SHARED_API void set_RelativeVerticalPosition(Aspose::Words::Drawing::RelativeVerticalPosition value);
843  /// <summary>
844  /// Specifies how the shape is positioned horizontally.
845  /// </summary>
846  /// <remarks>
847  /// <p>The default value is <see cref="Aspose::Words::Drawing::HorizontalAlignment::None" />.</p>
848  /// <p>Has effect only for top level floating shapes.</p>
849  /// </remarks>
850  ASPOSE_WORDS_SHARED_API Aspose::Words::Drawing::HorizontalAlignment get_HorizontalAlignment();
851  /// Setter for Aspose::Words::Drawing::ShapeBase::get_HorizontalAlignment
852  ASPOSE_WORDS_SHARED_API void set_HorizontalAlignment(Aspose::Words::Drawing::HorizontalAlignment value);
853  /// <summary>
854  /// Specifies how the shape is positioned vertically.
855  /// </summary>
856  /// <remarks>
857  /// <p>The default value is <see cref="Aspose::Words::Drawing::VerticalAlignment::None" />.</p>
858  /// <p>Has effect only for top level floating shapes.</p>
859  /// </remarks>
860  ASPOSE_WORDS_SHARED_API Aspose::Words::Drawing::VerticalAlignment get_VerticalAlignment();
861  /// Setter for Aspose::Words::Drawing::ShapeBase::get_VerticalAlignment
862  ASPOSE_WORDS_SHARED_API void set_VerticalAlignment(Aspose::Words::Drawing::VerticalAlignment value);
863  /// <summary>
864  /// Defines whether the shape is inline or floating. For floating shapes defines the wrapping mode for text around the shape.
865  /// </summary>
866  /// <remarks>
867  /// <p>The default value is <see cref="Aspose::Words::Drawing::WrapType::None" />.</p>
868  /// <p>Has effect only for top level shapes.</p>
869  /// </remarks>
870  ASPOSE_WORDS_SHARED_API Aspose::Words::Drawing::WrapType get_WrapType();
871  /// Setter for Aspose::Words::Drawing::ShapeBase::get_WrapType
872  ASPOSE_WORDS_SHARED_API void set_WrapType(Aspose::Words::Drawing::WrapType value);
873  /// <summary>
874  /// Specifies how the text is wrapped around the shape.
875  /// </summary>
876  /// <remarks>
877  /// <p>The default value is <see cref="Aspose::Words::Drawing::WrapSide::Both" />.</p>
878  /// <p>Has effect only for top level shapes.</p>
879  /// </remarks>
880  ASPOSE_WORDS_SHARED_API Aspose::Words::Drawing::WrapSide get_WrapSide();
881  /// Setter for Aspose::Words::Drawing::ShapeBase::get_WrapSide
882  ASPOSE_WORDS_SHARED_API void set_WrapSide(Aspose::Words::Drawing::WrapSide value);
883  /// <summary>
884  /// The coordinates at the top-left corner of the containing block of this shape.
885  /// </summary>
886  /// <remarks>
887  /// <p>The default value is (0,0).</p>
888  /// </remarks>
889  ASPOSE_WORDS_SHARED_API System::Drawing::Point get_CoordOrigin();
890  /// Setter for Aspose::Words::Drawing::ShapeBase::get_CoordOrigin
891  ASPOSE_WORDS_SHARED_API void set_CoordOrigin(System::Drawing::Point value);
892  /// <summary>
893  /// The width and height of the coordinate space inside the containing block of this shape.
894  /// </summary>
895  /// <remarks>
896  /// <p>The default value is (1000, 1000).</p>
897  /// </remarks>
898  ASPOSE_WORDS_SHARED_API System::Drawing::Size get_CoordSize();
899  /// Setter for Aspose::Words::Drawing::ShapeBase::get_CoordSize
900  ASPOSE_WORDS_SHARED_API void set_CoordSize(System::Drawing::Size value);
901  /// <summary>
902  /// Provides access to the font formatting of this object.
903  /// </summary>
904  ASPOSE_WORDS_SHARED_API System::SharedPtr<Aspose::Words::Font> get_Font();
905  /// <summary>
906  /// Indicates that shape is a SignatureLine.
907  /// </summary>
908  ASPOSE_WORDS_SHARED_API bool get_IsSignatureLine();
909  /// <summary>
910  /// Gets or sets a flag indicating whether the shape is displayed inside a table or outside of it.
911  /// </summary>
912  /// <remarks>
913  /// <p>The default value is <b>true</b>.</p>
914  /// <p>Has effect only for top level shapes, the property <see cref="Aspose::Words::Drawing::ShapeBase::get_WrapType" /> of which is set to value
915  /// other than <see cref="Aspose::Words::Inline" />.</p>
916  /// </remarks>
917  ASPOSE_WORDS_SHARED_API bool get_IsLayoutInCell();
918  /// Setter for Aspose::Words::Drawing::ShapeBase::get_IsLayoutInCell
919  ASPOSE_WORDS_SHARED_API void set_IsLayoutInCell(bool value);
920 
921  /// <summary>
922  /// Creates and returns an object that can be used to render this shape into an image.
923  /// </summary>
924  /// <remarks>
925  /// <para>This method just invokes the <see cref="Aspose::Words::Rendering::ShapeRenderer" /> constructor and passes
926  /// this object as a parameter.</para>
927  /// </remarks>
928  /// <returns>The renderer object for this shape.</returns>
929  ASPOSE_WORDS_SHARED_API System::SharedPtr<Aspose::Words::Rendering::ShapeRenderer> GetShapeRenderer();
930  ASPOSE_WORDS_SHARED_API System::SharedPtr<Aspose::Words::RunPr> GetExpandedRunPr_IInline(Aspose::Words::RunPrExpandFlags flags);
931  /// <summary>
932  /// Reserved for system use. IShapeAttrSource.
933  /// </summary>
934  ASPOSE_WORDS_SHARED_API System::SharedPtr<System::Object> GetDirectShapeAttr(int32_t key);
935  /// <summary>
936  /// Reserved for system use. IShapeAttrSource.
937  /// </summary>
938  ASPOSE_WORDS_SHARED_API System::SharedPtr<System::Object> FetchInheritedShapeAttr(int32_t key);
939  /// <summary>
940  /// Reserved for system use. IShapeAttrSource.
941  /// </summary>
942  ASPOSE_WORDS_SHARED_API System::SharedPtr<System::Object> FetchShapeAttr(int32_t key);
943  /// <summary>
944  /// Reserved for system use. IShapeAttrSource.
945  /// </summary>
946  ASPOSE_WORDS_SHARED_API void SetShapeAttr(int32_t key, System::SharedPtr<System::Object> value);
947  /// <summary>
948  /// Reserved for system use. IShapeAttrSource.
949  /// </summary>
950  ASPOSE_WORDS_SHARED_API void RemoveShapeAttr(int32_t key);
951  ASPOSE_WORDS_SHARED_API System::SharedPtr<System::Object> GetDirectRunAttr(int32_t fontAttr);
952  ASPOSE_WORDS_SHARED_API System::SharedPtr<System::Object> FetchInheritedRunAttr(int32_t fontAttr);
953  ASPOSE_WORDS_SHARED_API void SetRunAttr(int32_t fontAttr, System::SharedPtr<System::Object> value);
954  ASPOSE_WORDS_SHARED_API void RemoveRunAttr(int32_t key);
955  ASPOSE_WORDS_SHARED_API void ClearRunAttrs();
956  /// <summary>
957  /// Converts a value from the local coordinate space into the coordinate space of the parent shape.
958  /// </summary>
959  ASPOSE_WORDS_SHARED_API System::Drawing::PointF LocalToParent(System::Drawing::PointF value);
960  /// <summary>
961  /// Adds to the source rectangle values of the effect extent and returns the final rectangle.
962  /// </summary>
963  ASPOSE_WORDS_SHARED_API System::Drawing::RectangleF AdjustWithEffects(System::Drawing::RectangleF source);
964 
965 protected:
966 
967  virtual bool get_IsPercentWidthInapplicable() = 0;
968  bool get_IsTextBox();
969  bool get_IsEffectExtentEmpty();
970  Aspose::Words::Drawing::FlipOrientation get_ParentFlipOrientation();
971  System::SharedPtr<Aspose::Words::Drawing::Core::Locks> get_Locks();
972  int32_t get_CoordOriginX();
973  void set_CoordOriginX(int32_t value);
974  int32_t get_CoordOriginY();
975  void set_CoordOriginY(int32_t value);
976  int32_t get_Id();
977  void set_Id(int32_t value);
978  bool get_IsOleObject();
979  bool get_IsOleControl();
980  bool get_IsOle();
981  bool get_IsStandardHorizontalRule();
982  bool get_IsNeedDummyWhenInline();
983  bool get_IsPictureBullet();
984  void set_IsPictureBullet(bool value);
985  System::Drawing::SizeF get_Size();
986  System::SharedPtr<System::Object> get_LeftPercent();
987  System::SharedPtr<System::Object> get_TopPercent();
988  System::SharedPtr<System::Object> get_WidthPercent();
989  System::SharedPtr<System::Object> get_HeightPercent();
990  Aspose::Words::Drawing::Core::RelativeWidth get_RelativeWidth();
991  Aspose::Words::Drawing::Core::RelativeHeight get_RelativeHeight();
992  int32_t get_CoordSizeWidth();
993  int32_t get_CoordSizeHeight();
994  double get_TotalRotation();
995  bool get_HasHyperlink();
996  bool get_IsHyperlinkedInline();
997  System::String get_HyperlinkAddress();
998  System::String get_HyperlinkSubAddress();
999  System::SharedPtr<Aspose::Words::Drawing::Core::ShapePr> get_ShapePr() const;
1000  void set_ShapePr(System::SharedPtr<Aspose::Words::Drawing::Core::ShapePr> value);
1001  System::SharedPtr<Aspose::Words::RunPr> get_RunPr() const;
1002  void set_RunPr(System::SharedPtr<Aspose::Words::RunPr> value);
1003  Aspose::Words::Drawing::Core::ConnectorType get_ConnectorType();
1004  void set_ConnectorType(Aspose::Words::Drawing::Core::ConnectorType value);
1005  bool get_IsConnector();
1006  int32_t get_Txid();
1007  void set_Txid(int32_t value);
1008  int32_t get_TextboxNextShapeId();
1009  void set_TextboxNextShapeId(int32_t value);
1010  bool get_Hidden();
1011  void set_Hidden(bool value);
1012  System::ArrayPtr<uint8_t> get_InkData();
1013  bool get_InkAnnotation();
1014  bool get_IsPseudoInline();
1015  System::ArrayPtr<System::Drawing::PointF> get_WrapPolygonVertices();
1016  bool get_IsCalloutShapeType();
1017  bool get_IsConnectorShapeType();
1018  bool get_IsBracket();
1019  bool get_IsBrace();
1020  bool get_IsDmlShape();
1021  Aspose::Words::Drawing::LayoutFlow get_LayoutFlow();
1022  int32_t get_TextboxId() const;
1023  void set_TextboxId(int32_t value);
1024  int32_t get_LinkedTextboxId() const;
1025  void set_LinkedTextboxId(int32_t value);
1026  int32_t get_LinkedTextboxSeq() const;
1027  void set_LinkedTextboxSeq(int32_t value);
1028  bool get_HasTextbox();
1029  System::SharedPtr<Aspose::Words::Themes::Theme> get_DocumentTheme();
1030  System::SharedPtr<Aspose::Words::Drawing::ShapeBase> get_FallbackShape();
1031  bool get_SupportRendering();
1032  bool get_IsGridCalculationSupported();
1033  Aspose::Words::Drawing::Charts::Core::ComplexTypes::DmlChartUserShapeAnchorType get_AnchorType() const;
1034  void set_AnchorType(Aspose::Words::Drawing::Charts::Core::ComplexTypes::DmlChartUserShapeAnchorType value);
1035  System::Drawing::PointF get_From() const;
1036  void set_From(System::Drawing::PointF value);
1037  System::Drawing::PointF get_To() const;
1038  void set_To(System::Drawing::PointF value);
1039  System::SharedPtr<Aspose::Words::Drawing::Core::Dml::DmlNode> get_DmlNode() const;
1040  void set_DmlNode(System::SharedPtr<Aspose::Words::Drawing::Core::Dml::DmlNode> value);
1041  System::SharedPtr<Aspose::Words::Drawing::Core::Graphic> get_GraphicData();
1042  bool get_HasDrawingExtensions();
1043  bool get_IsFallback() const;
1044  void set_IsFallback(bool value);
1045  System::Drawing::Size get_EffectiveCoordSize();
1046  int32_t get_EffectiveCoordSizeWidth();
1047  int32_t get_EffectiveCoordSizeHeight();
1048  System::SharedPtr<Aspose::Words::Drawing::Core::Dml::DmlShape> get_DmlShape();
1049  bool get_CanHaveFillImage();
1050 
1051  static double& DefaultShapeSize();
1052 
1053  static const int32_t MainDrawingPatriarchShapeId;
1054  static const int32_t ShapeIdClusterSize;
1055 
1056  ASPOSE_WORDS_SHARED_API ShapeBase(System::SharedPtr<Aspose::Words::DocumentBase> doc, Aspose::Words::Drawing::ShapeMarkupLanguage markupLanguage);
1057 
1058  System::Drawing::RectangleF ConvertLocalToTopmostAnchor(System::Drawing::RectangleF rect);
1059  System::Drawing::PointF ParentToPoints(System::Drawing::PointF value);
1060  bool HasTextBoxes();
1061  bool HasFields();
1062  bool HasDmlNodes(Aspose::Words::Drawing::Core::Dml::DmlNodeType dmlNodeType);
1063  void SetShapeType(Aspose::Words::Drawing::ShapeType shapeType);
1064  virtual ASPOSE_WORDS_SHARED_API System::SharedPtr<Aspose::Words::Node> Clone(bool isCloneChildren, System::SharedPtr<Aspose::Words::INodeCloningListener> cloningListener);
1065  System::SharedPtr<Aspose::Words::RunPr> GetExpandedRunPr(Aspose::Words::RunPrExpandFlags flags);
1066  void SetSizeSafe(double width, double height);
1067  void SetWidthSafe(double value);
1068  void SetHeightSafe(double value);
1069  void MakeSizeValid();
1070  System::SharedPtr<Aspose::Words::Drawing::ShapeBase> GetTopLevelParentShape();
1071  bool RequiresBoundsRecalculation();
1072  void UpdateSizeAndPosition();
1073  void AdjustHorizontalRuleHeight();
1074  void UpdateSizeAndPositionFromRelative();
1075  void SetCoordSizeSafe(System::Drawing::Size value);
1076  void SetCoordSizeWidthSafe(int32_t width);
1077  void SetCoordSizeHeightSafe(int32_t height);
1078  bool IsChangedSinceLoad();
1079  void MarkLoaded();
1080  void UpdateFallBackParent();
1081  System::SharedPtr<Aspose::Images::ImageSizeCore> GetShapeImageSize();
1082  void SetIsSignatureLine(bool value);
1083  static System::String GenerateAltText(System::String title, System::String description);
1084  static bool IsAllowedShapeTypes(Aspose::Words::Drawing::ShapeType shapeType);
1085  ASPOSE_WORDS_SHARED_API System::Object::shared_members_type GetSharedMembers() override;
1086 
1087 private:
1088 
1089  bool get_IsCustomShape();
1090  bool get_SwitchPercentDimensions();
1091  System::SharedPtr<Aspose::Words::CompositeNode> get_FallBack();
1092 
1093  System::SharedPtr<Aspose::Words::Drawing::Core::ShapePr> mShapePr;
1094  System::SharedPtr<Aspose::Words::RunPr> mRunPr;
1095  System::SharedPtr<Aspose::Words::Drawing::Core::Dml::DmlShape> mDmlShape;
1096  System::SharedPtr<Aspose::Words::Drawing::Core::Locks> mLocksCache;
1097  System::SharedPtr<Aspose::Words::Font> mFontCache;
1098  System::SharedPtr<Aspose::Words::Drawing::Core::Dml::DmlNode> mDmlNode;
1099  System::SharedPtr<Aspose::Words::Drawing::Core::Graphic> mGraphicData;
1100  Aspose::Words::Drawing::Charts::Core::ComplexTypes::DmlChartUserShapeAnchorType mAnchorType;
1101  System::Drawing::PointF mFrom;
1102  System::Drawing::PointF mTo;
1103  Aspose::Words::Drawing::ShapeMarkupLanguage mMarkupLanguage;
1104  int32_t mTextboxId;
1105  int32_t mLinkedTextboxId;
1106  int32_t mLinkedTextboxSeq;
1107  int64_t mHashCodeCache;
1108  static const int32_t DefaultPercentValue;
1109  bool mIsFallback;
1110  System::Drawing::Size mEffectiveCoordSize;
1111 
1112  void UpdateLeftFromPercent(System::SharedPtr<Aspose::Words::PageSetup> ps);
1113  void UpdateTopFromPercent(System::SharedPtr<Aspose::Words::PageSetup> ps);
1114  void UpdateWidthFromPercent(System::SharedPtr<Aspose::Words::PageSetup> ps);
1115  void UpdateHeightFromPercent(System::SharedPtr<Aspose::Words::PageSetup> ps);
1116  void SetPercentWidth(double value);
1117  void SetPercentHeight(double value);
1118  void SetWidthLockAspectRatioSensitive(double value, bool isThrow);
1119  void SetHeightLockAspectRatioSensitive(double value, bool isThrow);
1120  void ResetRelSizeValue(int32_t key);
1121  void SetWidthCore(double value, bool isThrow);
1122  void SetHeightCore(double value, bool isThrow);
1123  void ValidateZeroSizeShape();
1124  System::Drawing::SizeF CalculateNotZeroSize();
1125  int64_t CalculateHashCode();
1126  static System::ArrayPtr<System::Drawing::PointF> ConvertPathPointToPointF(System::ArrayPtr<System::SharedPtr<Aspose::Words::Drawing::Core::PathPoint>> pathPoints);
1127  System::Drawing::RectangleF GetPathBoundingRect();
1128  System::Drawing::RectangleF GetsBoundsWithEffects();
1129  float GetIntegerNumberOfTwips(float value);
1130  float GetExtentEffectValue(int32_t attr);
1131 
1132 };
1133 
1134 }
1135 }
1136 }
Definition: DocumentVisitor.h:47
Definition: IFontData.h:19
LayoutFlow
Determines the flow of the text layout in a textbox.
Definition: LayoutFlow.h:29
Definition: CompareOptions.h:16
Definition: Hyphenation.h:18
A collection of Aspose::Words::Revision objects that represent revisions in the document.
Definition: RevisionCollection.h:44
ShapeRenderer(System::SharedPtr< Aspose::Words::Drawing::ShapeBase > shape)
Initializes a new instance of this class.
Insert line breaks after every 76th character.
Definition: Document.h:31
Stores and manages formatting of bulleted and numbered lists used in a document.
Definition: ListCollection.h:120
Definition: ShapeBase.h:51
Definition: Border.h:65
#define FRIEND_FUNCTION_System_MakeObject
Macro to befriend MakeObject function.
Definition: smart_ptr.h:1366