ShapeBase.h
1 // Copyright 2001-2020 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.
9 #pragma once
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 { namespace Diagram { class DmlDiagramRenderingHelper; } } } } }
34 namespace Aspose { namespace Words { namespace ApsBuilder { namespace Dml { class DmlCompositeNodeRenderer; } } } }
35 namespace Aspose { namespace Words { namespace ApsBuilder { namespace Shapes { namespace Content { class TextBoxMetrics; } } } } }
36 namespace Aspose { namespace Words { namespace Layout { namespace Core { class LayoutShapeDrawingMLAdapter; } } } }
37 namespace Aspose { namespace Words { namespace Layout { namespace Core { class LayoutShapeVMLAdapter; } } } }
38 namespace Aspose { namespace Words { class Watermark; } }
39 namespace Aspose { namespace Words { namespace Drawing { namespace Core { namespace Dml { class DmlNodeCustomizer; } } } } }
40 namespace Aspose { namespace Words { namespace Drawing { namespace Core { namespace Dml { class DmlShapeInserter; } } } } }
41 namespace Aspose { namespace Words { namespace Drawing { namespace Core { namespace Dml { class DmlWrapPolygonUtils; } } } } }
42 namespace Aspose { namespace Words { namespace Fields { class FieldIncludePictureUpdater; } } }
43 namespace Aspose { namespace Words { namespace ApsBuilder { namespace Dml { namespace Text { class DmlTextShapeToShapeConvertor; } } } } }
44 namespace Aspose { namespace Words { namespace ApsBuilder { namespace Dml { namespace Text { class DmlTextShapeRenderer; } } } } }
45 namespace Aspose { namespace Words { namespace ApsBuilder { namespace Dml { class DmlShapeRendererBase; } } } }
46 namespace Aspose { namespace Words { namespace ApsBuilder { namespace Shapes { namespace Extrusion { class ExtrusionParametersBuilder; } } } } }
47 namespace Aspose { namespace Words { namespace Comparison { class ShapeComparer; } } }
48 namespace Aspose { namespace Words { namespace Comparison { class StoryComparer; } } }
49 namespace Aspose { namespace Words { namespace Validation { class IstdVisitor; } } }
50 namespace Aspose { namespace Words { namespace RW { namespace Dml { namespace Writer { class DmlShapeValidator; } } } } }
51 namespace Aspose { namespace Words { namespace RW { namespace Docx { namespace Reader { class ChartInserter; } } } } }
52 namespace Aspose { namespace Words { class VideoInserter; } }
53 namespace Aspose { namespace Words { namespace Math { class OfficeMathUtil; } } }
54 namespace Aspose { namespace Words { namespace Replacing { class FindReplaceIndexer; } } }
55 namespace Aspose { namespace Words { namespace RW { namespace Nrx { namespace Writer { class NrxFieldsWriter; } } } } }
56 namespace Aspose { namespace Words { namespace RW { namespace MarkupLanguage { namespace Writer { class ImageShapeWriter; } } } } }
57 namespace Aspose { namespace Words { namespace RW { namespace MarkupLanguage { namespace Writer { class SvgShapeWriter; } } } } }
58 namespace Aspose { namespace Words { namespace Validation { namespace VmlToDml { class VmlFormulaToDmlConverter; } } } }
59 namespace Aspose { namespace Words { namespace Validation { namespace VmlToDml { class VmlFillToDmlConverter; } } } }
60 namespace Aspose { namespace Words { namespace Validation { namespace VmlToDml { class VmlGeometryToDmlConverter; } } } }
61 namespace Aspose { namespace Words { namespace Validation { namespace VmlToDml { class VmlGradientToDmlConverter; } } } }
62 namespace Aspose { namespace Words { namespace Validation { namespace VmlToDml { class VmlToDmlComplexShapeConverter; } } } }
63 namespace Aspose { namespace Words { namespace Validation { namespace VmlToDml { class VmlOutlineToDmlConverter; } } } }
64 namespace Aspose { namespace Words { namespace Validation { namespace VmlToDml { class VmlShapeToDmlShapeConverter; } } } }
65 namespace Aspose { namespace Words { namespace RW { namespace Dml { namespace Writer { class DmlGraphicFrameWriter; } } } } }
66 namespace Aspose { namespace Words { namespace RW { namespace Docx { namespace Reader { class DocxBackgroundReader; } } } } }
67 namespace Aspose { namespace Words { namespace RW { namespace Docx { namespace Writer { class DocxBackgroundWriter; } } } } }
68 namespace Aspose { namespace Words { namespace RW { namespace Html { namespace Css { namespace New { class DocumentFormatter; } } } } } }
69 namespace Aspose { namespace Words { namespace RW { namespace HtmlCommon { class HtmlImageUtil; } } } }
70 namespace Aspose { namespace Words { namespace RW { namespace Nrx { namespace Reader { class NrxRunReaderBase; } } } } }
71 namespace Aspose { namespace Words { namespace Drawing { class ShapeAdaptor; } } }
72 namespace Aspose { namespace Words { namespace Drawing { namespace Core { namespace Dml { class DmlNode; } } } } }
73 namespace Aspose { namespace Words { namespace Drawing { namespace Core { class DrawingMLImageDataSource; } } } }
74 namespace Aspose { namespace Words { namespace Drawing { namespace Core { class VmlNode; } } } }
75 namespace Aspose { namespace Words { namespace Drawing { class ShapeSizeValidationHelper; } } }
76 namespace Aspose { namespace Words { namespace Fields { class FieldBarcodeUtil; } } }
77 namespace Aspose { namespace Words { namespace Fields { class ImageResultFieldMergeFormatApplier; } } }
78 namespace Aspose { namespace Words { namespace RW { namespace Odt { namespace Reader { class OdtChartToDmlConverter; } } } } }
79 namespace Aspose { namespace Words { namespace RW { namespace Odt { namespace Reader { class OdtChartToDmlConverterUtil; } } } } }
80 namespace Aspose { namespace Words { namespace Validation { class ShapeValidator; } } }
81 namespace Aspose { namespace Words { namespace Validation { class UnsupportedShapeDetector; } } }
82 namespace Aspose { namespace Words { namespace Validation { namespace DmlToVml { class DmlGeometryToVmlConverter; } } } }
83 namespace Aspose { namespace Words { namespace Validation { namespace DmlToVml { class DmlShapeToShapeConverter; } } } }
84 namespace Aspose { namespace Words { namespace RW { namespace Dml { namespace Reader { class DmlContentPartReader; } } } } }
85 namespace Aspose { namespace Words { namespace RW { namespace Dml { namespace Reader { class DmlDiagramReader; } } } } }
86 namespace Aspose { namespace Words { namespace RW { namespace Dml { namespace Reader { class DmlChartReader; } } } } }
87 namespace Aspose { namespace Words { namespace RW { namespace Dml { namespace Reader { class DmlChartShapesReader; } } } } }
88 namespace Aspose { namespace Words { namespace RW { namespace Dml { namespace Reader { class DmlCompositeNodeReader; } } } } }
89 namespace Aspose { namespace Words { namespace RW { namespace Dml { namespace Reader { class DmlPictureReader; } } } } }
90 namespace Aspose { namespace Words { namespace RW { namespace Dml { namespace Reader { class DmlShapeReader; } } } } }
91 namespace Aspose { namespace Words { namespace ApsBuilder { namespace Dml { namespace Charts { class DmlChartSpaceRenderer; } } } } }
92 namespace Aspose { namespace Words { namespace Drawing { namespace Core { namespace Dml { class DmlCompositeNode; } } } } }
93 namespace Aspose { namespace Words { namespace Drawing { namespace Core { namespace Dml { class DmlFillableNode; } } } } }
94 namespace Aspose { namespace Words { namespace Drawing { namespace Core { namespace Dml { class DmlGroupShape; } } } } }
95 namespace Aspose { namespace Words { namespace ApsBuilder { namespace Dml { class DmlChartRenderer; } } } }
96 namespace Aspose { namespace Words { namespace ApsBuilder { namespace Dml { namespace Diagram { class DmlDiagramDrawingRenderer; } } } } }
97 namespace Aspose { namespace Words { namespace ApsBuilder { namespace Dml { class DmlNodeRendererFactory; } } } }
98 namespace Aspose { namespace Words { namespace Drawing { namespace Core { namespace Dml { class DmlShapeBase; } } } } }
99 namespace Aspose { namespace Words { namespace Drawing { namespace Core { namespace Dml { class DmlShape; } } } } }
100 namespace Aspose { namespace Words { namespace ApsBuilder { namespace Dml { class DmlToApsConverter; } } } }
101 namespace Aspose { namespace Words { namespace Drawing { namespace Core { namespace Dml { namespace Fills { class DmlFill; } } } } } }
102 namespace Aspose { namespace Words { namespace Drawing { namespace Core { namespace Dml { namespace Outlines { class DmlOutline; } } } } } }
103 namespace Aspose { namespace Words { namespace ApsBuilder { namespace Dml { class DmlShapeRenderer; } } } }
104 namespace Aspose { namespace Words { namespace ApsBuilder { namespace Shapes { class TextBoxSizesCalculator; } } } }
105 namespace Aspose { namespace Words { namespace Layout { namespace Core { class DocumentLayoutBuilder; } } } }
106 namespace Aspose { namespace Words { namespace Layout { namespace Core { class WarningGenerator; } } } }
107 namespace Aspose { namespace Words { namespace Layout { class RunWrapFinder; } } }
108 namespace Aspose { namespace Words { namespace Validation { namespace DmlToVml { class DmlShapePrFiller; } } } }
109 namespace Aspose { namespace Words { namespace Markup { class SdtContentUpdater; } } }
110 namespace Aspose { namespace Words { namespace Validation { class DrawingMLIdValidator; } } }
111 namespace Aspose { namespace Words { namespace Validation { namespace DmlToVml { class DmlUtil; } } } }
112 namespace Aspose { namespace Words { namespace RW { namespace Dml { namespace Writer { class DmlCanvasWriter; } } } } }
113 namespace Aspose { namespace Words { namespace RW { namespace Dml { namespace Writer { class DmlChartSpaceWriter; } } } } }
114 namespace Aspose { namespace Words { namespace RW { namespace Dml { namespace Writer { class DmlChartWriter; } } } } }
115 namespace Aspose { namespace Words { namespace RW { namespace Dml { namespace Writer { class DmlContentPartWriter; } } } } }
116 namespace Aspose { namespace Words { namespace RW { namespace Dml { namespace Writer { class DmlDiagramDrawingWriter; } } } } }
117 namespace Aspose { namespace Words { namespace RW { namespace Dml { namespace Writer { class DmlGraphicWriter; } } } } }
118 namespace Aspose { namespace Words { namespace RW { namespace Dml { namespace Writer { class DmlGroupShapeWriter; } } } } }
119 namespace Aspose { namespace Words { namespace RW { namespace Dml { namespace Writer { class DmlPictureWriter; } } } } }
120 namespace Aspose { namespace Words { namespace RW { namespace Dml { namespace Writer { class DmlShapeWriter; } } } } }
121 namespace Aspose { namespace Words { namespace RW { namespace Doc { namespace Escher { class EsShapePrReader; } } } } }
122 namespace Aspose { namespace Words { namespace RW { namespace Html { namespace Writer { class HtmlImageWriter; } } } } }
123 namespace Aspose { namespace Words { namespace RW { namespace MarkupLanguage { namespace Writer { class MarkupLanguageShapeWriter; } } } } }
124 namespace Aspose { namespace Words { namespace RW { namespace Odt { namespace Reader { class OdtCaptionReader; } } } } }
125 namespace Aspose { namespace Words { class RevisionCollection; } }
126 namespace Aspose { namespace Words { namespace Fields { class TocHyperlinkEntryAttributeModifier; } } }
127 namespace Aspose { namespace Words { namespace Fields { class FieldUpdateActionInsertImage; } } }
128 namespace Aspose { namespace Words { class ShapeFieldRemover; } }
129 namespace Aspose { namespace Words { namespace Layout { namespace Core { class SpanShape; } } } }
130 namespace Aspose { namespace Words { namespace Layout { class AttributeConverter; } } }
131 namespace Aspose { namespace Words { namespace Layout { class DocumentSpanConverter; } } }
132 namespace Aspose { namespace Words { namespace Layout { namespace PreAps { class LayoutSpanPicture; } } } }
133 namespace Aspose { namespace Words { namespace Validation { class BookmarkValidator; } } }
134 namespace Aspose { namespace Words { class Document; } }
135 namespace Aspose { namespace Words { class DocumentBuilder; } }
136 namespace Aspose { namespace Words { namespace Validation { class DocumentPostLoader; } } }
137 namespace Aspose { namespace Words { namespace Validation { class DocumentValidator; } } }
138 namespace Aspose { namespace Words { namespace Validation { class RunPrCollectorBase; } } }
139 namespace Aspose { namespace Words { namespace Validation { class ShapeImageOptimizer; } } }
140 namespace Aspose { namespace Words { class SaveInfo; } }
141 namespace Aspose { namespace Words { namespace Validation { class ShapeIdGenerator; } } }
142 namespace Aspose { namespace Words { namespace Drawing { class Fill; } } }
143 namespace Aspose { namespace Words { namespace Drawing { class GroupShape; } } }
144 namespace Aspose { namespace Words { namespace Drawing { class ImageData; } } }
145 namespace Aspose { namespace Words { namespace Drawing { class Shape; } } }
146 namespace Aspose { namespace Words { namespace ApsBuilder { namespace Spans { class LineApsBuilder; } } } }
147 namespace Aspose { namespace Words { namespace Rendering { class ShapeRenderer; } } }
148 namespace Aspose { namespace Words { namespace ApsBuilder { namespace Shapes { class DmlShapeApsBuilder; } } } }
149 namespace Aspose { namespace Words { namespace ApsBuilder { namespace Shapes { class ShapeApsBuilder; } } } }
150 namespace Aspose { namespace Words { namespace ApsBuilder { namespace Shapes { class ShapeApsBuilderContext; } } } }
151 namespace Aspose { namespace Words { namespace ApsBuilder { namespace Shapes { class ShapeBoundsFinder; } } } }
152 namespace Aspose { namespace Words { namespace ApsBuilder { namespace Shapes { class BrushFactory; } } } }
153 namespace Aspose { namespace Words { namespace ApsBuilder { namespace Shapes { class ShapeInfo; } } } }
154 namespace Aspose { namespace Words { namespace ApsBuilder { namespace Shapes { class ShapeTransformer; } } } }
155 namespace Aspose { namespace Words { namespace RW { namespace Html { namespace Css { namespace New { class CssHRuleHeightStyleConverter; } } } } } }
156 namespace Aspose { namespace Words { namespace RW { namespace Html { namespace Css { namespace New { class CssBorderStyleConverter; } } } } } }
157 namespace Aspose { namespace Words { namespace RW { namespace Html { namespace Css { namespace New { class CssWidthPropertyDef; } } } } } }
158 namespace Aspose { namespace Words { namespace RW { namespace Nrx { namespace Writer { class NrxShapeDefaultsWriter; } } } } }
159 namespace Aspose { namespace Words { namespace RW { namespace Rtf { namespace Reader { class RtfContentHandler; } } } } }
160 namespace Aspose { namespace Words { namespace RW { namespace Rtf { namespace Reader { class RtfLegacyShapeHandler; } } } } }
161 namespace Aspose { namespace Words { namespace RW { namespace MarkupLanguage { namespace Writer { class MarkupLanguageShapeResourceWriter; } } } } }
162 namespace Aspose { namespace Words { namespace RW { namespace Vml { class VmlFillReader; } } } }
163 namespace Aspose { namespace Words { namespace Validation { namespace DmlToVml { class DmlPictureToShapeConverter; } } } }
164 namespace Aspose { namespace Words { namespace RW { namespace Dml { namespace Writer { class DmlDrawingWriter; } } } } }
165 namespace Aspose { namespace Words { namespace RW { namespace Odt { namespace Reader { class OdtObjectReader; } } } } }
166 namespace Aspose { namespace Words { namespace RW { namespace Odt { namespace Reader { class OdtPathReader; } } } } }
167 namespace Aspose { namespace Words { namespace RW { namespace Doc { namespace Escher { class EsShapeBounds; } } } } }
168 namespace Aspose { namespace Words { namespace Drawing { class Stroke; } } }
169 namespace Aspose { namespace Words { namespace Drawing { class TextBox; } } }
170 namespace Aspose { namespace Words { class NodeImporter; } }
171 namespace Aspose { namespace Words { namespace Lists { class ListCollection; } } }
172 namespace Aspose { namespace Words { class Section; } }
173 namespace Aspose { namespace Words { namespace ApsBuilder { namespace Shapes { class GeometryResolver; } } } }
174 namespace Aspose { namespace Words { namespace RW { namespace Dml { namespace Reader { class DmlDrawingReader; } } } } }
175 namespace Aspose { namespace Words { namespace RW { namespace Nrx { namespace Reader { class NrxDocumentReaderBase; } } } } }
176 namespace Aspose { namespace Words { namespace RW { namespace Docx { namespace Writer { class DocxDocumentWriterBase; } } } } }
177 namespace Aspose { namespace Words { namespace RW { namespace Odt { class OdtEnum; } } } }
178 namespace Aspose { namespace Words { namespace RW { namespace Odt { namespace Reader { class OdtCustomShapeReader; } } } } }
179 namespace Aspose { namespace Words { namespace RW { namespace Odt { namespace Reader { class OdtGReader; } } } } }
180 namespace Aspose { namespace Words { namespace RW { namespace Odt { namespace Reader { class OdtEllipseReader; } } } } }
181 namespace Aspose { namespace Words { namespace RW { namespace Odt { namespace Reader { class OdtRectReader; } } } } }
182 namespace Aspose { namespace Words { namespace RW { namespace Odt { namespace Reader { class OdtBinaryObjectReader; } } } } }
183 namespace Aspose { namespace Words { namespace RW { namespace Odt { namespace Reader { class OdtConnectorReader; } } } } }
184 namespace Aspose { namespace Words { namespace RW { namespace Odt { namespace Reader { class OdtLineReader; } } } } }
185 namespace Aspose { namespace Words { namespace RW { namespace Odt { namespace Reader { class OdtListLevelPropertiesReader; } } } } }
186 namespace Aspose { namespace Words { namespace RW { namespace Odt { namespace Writer { class OdtEnhancedGeometryWriter; } } } } }
187 namespace Aspose { namespace Words { namespace RW { namespace Odt { namespace Writer { class OdtShapeWriter; } } } } }
188 namespace Aspose { namespace Words { namespace RW { namespace Odt { namespace Writer { class OdtGraphicPropertiesWriter; } } } } }
189 namespace Aspose { namespace Words { namespace RW { namespace Vml { class VmlOleReader; } } } }
190 namespace Aspose { namespace Words { namespace RW { namespace Vml { class VmlShapeReader; } } } }
191 namespace Aspose { namespace Words { namespace RW { namespace Odt { namespace Reader { class OdtTextBoxReader; } } } } }
192 namespace Aspose { namespace Words { namespace RW { namespace Odt { namespace Reader { class OdtFrameReader; } } } } }
193 namespace Aspose { namespace Words { namespace RW { namespace Odt { namespace Reader { class OdtParagraphReader; } } } } }
194 namespace Aspose { namespace Words { namespace RW { namespace Docx { namespace Writer { class DocxNumberingWriter; } } } } }
195 namespace Aspose { namespace Words { namespace RW { namespace Doc { namespace Escher { class EsDrawingFiler; } } } } }
196 namespace Aspose { namespace Words { namespace RW { namespace Doc { namespace Escher { class EsShapeFiler; } } } } }
197 namespace Aspose { namespace Words { namespace RW { namespace Doc { namespace Escher { class EsShapePrWriter; } } } } }
198 namespace Aspose { namespace Words { namespace RW { namespace Doc { namespace Reader { class ModelBuilder; } } } } }
199 namespace Aspose { namespace Words { namespace RW { namespace Doc { namespace Reader { class Parser; } } } } }
200 namespace Aspose { namespace Words { namespace RW { namespace Doc { namespace Shapes { class Fspa; } } } } }
201 namespace Aspose { namespace Words { namespace RW { namespace Doc { namespace Shapes { class Picf; } } } } }
202 namespace Aspose { namespace Words { namespace RW { namespace Doc { namespace Writer { class ShapeWriter; } } } } }
203 namespace Aspose { namespace Words { namespace RW { namespace Html { namespace Reader { class HtmlListReader; } } } } }
204 namespace Aspose { namespace Words { namespace RW { namespace Html { namespace Reader { class HtmlReader; } } } } }
205 namespace Aspose { namespace Words { namespace RW { namespace Odt { namespace Writer { class OdtAutoStylesWriter; } } } } }
206 namespace Aspose { namespace Words { namespace RW { namespace Rtf { namespace Reader { class RtfPictureHandler; } } } } }
207 namespace Aspose { namespace Words { namespace RW { namespace Rtf { namespace Reader { class RtfModelBuilder; } } } } }
208 namespace Aspose { namespace Words { namespace RW { namespace Rtf { namespace Reader { class RtfOleHandler; } } } } }
209 namespace Aspose { namespace Words { namespace RW { namespace Rtf { namespace Reader { class RtfShapeHandler; } } } } }
210 namespace Aspose { namespace Words { namespace RW { namespace Rtf { namespace Reader { class RtfShapePropertyHandler; } } } } }
211 namespace Aspose { namespace Words { namespace RW { namespace Rtf { namespace Writer { class RtfOleWriter; } } } } }
212 namespace Aspose { namespace Words { namespace RW { namespace Rtf { namespace Writer { class RtfShapePrWriter; } } } } }
213 namespace Aspose { namespace Words { namespace RW { namespace Rtf { namespace Writer { class RtfShapeWriter; } } } } }
214 namespace Aspose { namespace Words { namespace RW { namespace Rtf { namespace Writer { class RtfWriter; } } } } }
215 namespace Aspose { namespace Words { namespace RW { namespace Vml { class VmlShapeWriter; } } } }
216 namespace Aspose { namespace Words { namespace RW { namespace Wml { namespace Writer { class WmlWriter; } } } } }
217 namespace Aspose { namespace Words { namespace Model { namespace Nrx { class NrxXmlUtil; } } } }
218 namespace Aspose { namespace Words { namespace Drawing { namespace Core { enum class RelativeWidth; } } } }
219 namespace Aspose { namespace Words { namespace Drawing { namespace Core { enum class RelativeHeight; } } } }
220 namespace Aspose { namespace Words { namespace Drawing { namespace Core { enum class ConnectorType; } } } }
221 namespace Aspose { namespace Words { namespace Drawing { enum class LayoutFlow; } } }
222 namespace Aspose { namespace Words { namespace Drawing { namespace Charts { namespace Core { namespace ComplexTypes { enum class DmlChartUserShapeAnchorType; } } } } } }
223 namespace Aspose { namespace Words { class Paragraph; } }
224 namespace Aspose { namespace Words { class DocumentBase; } }
225 namespace Aspose { namespace Words { class RunPr; } }
226 namespace Aspose { namespace Words { namespace Revisions { class EditRevision; } } }
227 namespace Aspose { namespace Words { namespace Revisions { class MoveRevision; } } }
228 namespace Aspose { namespace Words { class Font; } }
229 namespace Aspose { namespace Words { namespace Drawing { namespace Core { class Locks; } } } }
230 namespace Aspose { namespace Words { namespace Drawing { namespace Core { class ShapePr; } } } }
231 namespace Aspose { namespace Words { namespace Themes { class Theme; } } }
232 namespace Aspose { namespace Words { namespace Drawing { namespace Core { class Graphic; } } } }
233 namespace Aspose { namespace Words { namespace Drawing { namespace Core { namespace Dml { enum class DmlNodeType; } } } } }
234 namespace Aspose { namespace Words { class Node; } }
235 namespace Aspose { namespace Words { class INodeCloningListener; } }
236 namespace Aspose { namespace Images { class ImageSizeCore; } }
237 namespace Aspose { namespace Words { class PageSetup; } }
238 namespace Aspose { namespace Words { namespace Drawing { namespace Core { class PathPoint; } } } }
239 
240 namespace Aspose {
241 
242 namespace Words {
243 
244 namespace Drawing {
245 
270 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
271 {
272  typedef ShapeBase ThisType;
274  typedef Aspose::Words::IInline BaseType1;
275  typedef Aspose::Words::Drawing::Core::IShape BaseType2;
276  typedef Aspose::Words::IShapeAttrSource BaseType3;
277  typedef Aspose::Words::Revisions::ITrackableNode BaseType4;
278 
279  typedef ::System::BaseTypesInfo<BaseType, BaseType1, BaseType2, BaseType3, BaseType4> ThisTypeBaseTypesInfo;
280  ASPOSE_WORDS_SHARED_RTTI_INFO_DECL();
281 
282  FRIEND_FUNCTION_System_MakeObject;
283  friend class Aspose::Words::ApsBuilder::Dml::Diagram::DmlDiagramRenderingHelper;
284  friend class Aspose::Words::ApsBuilder::Dml::DmlCompositeNodeRenderer;
285  friend class Aspose::Words::ApsBuilder::Shapes::Content::TextBoxMetrics;
286  friend class Aspose::Words::Layout::Core::LayoutShapeDrawingMLAdapter;
287  friend class Aspose::Words::Layout::Core::LayoutShapeVMLAdapter;
288  friend class Aspose::Words::Watermark;
289  friend class Aspose::Words::Drawing::Core::Dml::DmlNodeCustomizer;
290  friend class Aspose::Words::Drawing::Core::Dml::DmlShapeInserter;
291  friend class Aspose::Words::Drawing::Core::Dml::DmlWrapPolygonUtils;
292  friend class Aspose::Words::Fields::FieldIncludePictureUpdater;
293  friend class Aspose::Words::ApsBuilder::Dml::Text::DmlTextShapeToShapeConvertor;
294  friend class Aspose::Words::ApsBuilder::Dml::Text::DmlTextShapeRenderer;
295  friend class Aspose::Words::ApsBuilder::Dml::DmlShapeRendererBase;
296  friend class Aspose::Words::ApsBuilder::Shapes::Extrusion::ExtrusionParametersBuilder;
297  friend class Aspose::Words::Comparison::ShapeComparer;
298  friend class Aspose::Words::Comparison::StoryComparer;
299  friend class Aspose::Words::Validation::IstdVisitor;
300  friend class Aspose::Words::RW::Dml::Writer::DmlShapeValidator;
301  friend class Aspose::Words::RW::Docx::Reader::ChartInserter;
302  friend class Aspose::Words::VideoInserter;
303  friend class Aspose::Words::Math::OfficeMathUtil;
304  friend class Aspose::Words::Replacing::FindReplaceIndexer;
305  friend class Aspose::Words::RW::Nrx::Writer::NrxFieldsWriter;
306  friend class Aspose::Words::RW::MarkupLanguage::Writer::ImageShapeWriter;
307  friend class Aspose::Words::RW::MarkupLanguage::Writer::SvgShapeWriter;
308  friend class Aspose::Words::Validation::VmlToDml::VmlFormulaToDmlConverter;
309  friend class Aspose::Words::Validation::VmlToDml::VmlFillToDmlConverter;
310  friend class Aspose::Words::Validation::VmlToDml::VmlGeometryToDmlConverter;
311  friend class Aspose::Words::Validation::VmlToDml::VmlGradientToDmlConverter;
312  friend class Aspose::Words::Validation::VmlToDml::VmlToDmlComplexShapeConverter;
313  friend class Aspose::Words::Validation::VmlToDml::VmlOutlineToDmlConverter;
314  friend class Aspose::Words::Validation::VmlToDml::VmlShapeToDmlShapeConverter;
315  friend class Aspose::Words::RW::Dml::Writer::DmlGraphicFrameWriter;
316  friend class Aspose::Words::RW::Docx::Reader::DocxBackgroundReader;
317  friend class Aspose::Words::RW::Docx::Writer::DocxBackgroundWriter;
318  friend class Aspose::Words::RW::Html::Css::New::DocumentFormatter;
319  friend class Aspose::Words::RW::HtmlCommon::HtmlImageUtil;
320  friend class Aspose::Words::RW::Nrx::Reader::NrxRunReaderBase;
321  friend class Aspose::Words::Drawing::ShapeAdaptor;
322  friend class Aspose::Words::Drawing::Core::Dml::DmlNode;
323  friend class Aspose::Words::Drawing::Core::DrawingMLImageDataSource;
324  friend class Aspose::Words::Drawing::Core::VmlNode;
325  friend class Aspose::Words::Drawing::ShapeSizeValidationHelper;
326  friend class Aspose::Words::Fields::FieldBarcodeUtil;
327  friend class Aspose::Words::Fields::ImageResultFieldMergeFormatApplier;
328  friend class Aspose::Words::RW::Odt::Reader::OdtChartToDmlConverter;
329  friend class Aspose::Words::RW::Odt::Reader::OdtChartToDmlConverterUtil;
330  friend class Aspose::Words::Validation::ShapeValidator;
331  friend class Aspose::Words::Validation::UnsupportedShapeDetector;
332  friend class Aspose::Words::Validation::DmlToVml::DmlGeometryToVmlConverter;
333  friend class Aspose::Words::Validation::DmlToVml::DmlShapeToShapeConverter;
334  friend class Aspose::Words::RW::Dml::Reader::DmlContentPartReader;
335  friend class Aspose::Words::RW::Dml::Reader::DmlDiagramReader;
336  friend class Aspose::Words::RW::Dml::Reader::DmlChartReader;
337  friend class Aspose::Words::RW::Dml::Reader::DmlChartShapesReader;
338  friend class Aspose::Words::RW::Dml::Reader::DmlCompositeNodeReader;
339  friend class Aspose::Words::RW::Dml::Reader::DmlPictureReader;
340  friend class Aspose::Words::RW::Dml::Reader::DmlShapeReader;
341  friend class Aspose::Words::ApsBuilder::Dml::Charts::DmlChartSpaceRenderer;
342  friend class Aspose::Words::Drawing::Core::Dml::DmlCompositeNode;
343  friend class Aspose::Words::Drawing::Core::Dml::DmlFillableNode;
344  friend class Aspose::Words::Drawing::Core::Dml::DmlGroupShape;
345  friend class Aspose::Words::ApsBuilder::Dml::DmlChartRenderer;
346  friend class Aspose::Words::ApsBuilder::Dml::Diagram::DmlDiagramDrawingRenderer;
347  friend class Aspose::Words::ApsBuilder::Dml::DmlNodeRendererFactory;
348  friend class Aspose::Words::Drawing::Core::Dml::DmlShapeBase;
349  friend class Aspose::Words::Drawing::Core::Dml::DmlShape;
350  friend class Aspose::Words::ApsBuilder::Dml::DmlToApsConverter;
351  friend class Aspose::Words::Drawing::Core::Dml::Fills::DmlFill;
352  friend class Aspose::Words::Drawing::Core::Dml::Outlines::DmlOutline;
353  friend class Aspose::Words::Drawing::Core::Dml::Outlines::DmlOutline;
354  friend class Aspose::Words::ApsBuilder::Dml::DmlShapeRenderer;
355  friend class Aspose::Words::ApsBuilder::Shapes::TextBoxSizesCalculator;
356  friend class Aspose::Words::Layout::Core::DocumentLayoutBuilder;
357  friend class Aspose::Words::Layout::Core::WarningGenerator;
358  friend class Aspose::Words::Layout::RunWrapFinder;
359  friend class Aspose::Words::Validation::DmlToVml::DmlShapePrFiller;
360  friend class Aspose::Words::Markup::SdtContentUpdater;
361  friend class Aspose::Words::Validation::DrawingMLIdValidator;
362  friend class Aspose::Words::Validation::DmlToVml::DmlUtil;
363  friend class Aspose::Words::RW::Dml::Writer::DmlCanvasWriter;
364  friend class Aspose::Words::RW::Dml::Writer::DmlChartSpaceWriter;
365  friend class Aspose::Words::RW::Dml::Writer::DmlChartWriter;
366  friend class Aspose::Words::RW::Dml::Writer::DmlContentPartWriter;
367  friend class Aspose::Words::RW::Dml::Writer::DmlDiagramDrawingWriter;
368  friend class Aspose::Words::RW::Dml::Writer::DmlGraphicWriter;
369  friend class Aspose::Words::RW::Dml::Writer::DmlGroupShapeWriter;
370  friend class Aspose::Words::RW::Dml::Writer::DmlPictureWriter;
371  friend class Aspose::Words::RW::Dml::Writer::DmlShapeWriter;
372  friend class Aspose::Words::RW::Doc::Escher::EsShapePrReader;
373  friend class Aspose::Words::RW::Html::Writer::HtmlImageWriter;
374  friend class Aspose::Words::RW::MarkupLanguage::Writer::MarkupLanguageShapeWriter;
375  friend class Aspose::Words::RW::Odt::Reader::OdtCaptionReader;
377  friend class Aspose::Words::Fields::TocHyperlinkEntryAttributeModifier;
378  friend class Aspose::Words::Fields::FieldUpdateActionInsertImage;
379  friend class Aspose::Words::ShapeFieldRemover;
380  friend class Aspose::Words::Layout::Core::SpanShape;
381  friend class Aspose::Words::Layout::AttributeConverter;
382  friend class Aspose::Words::Layout::DocumentSpanConverter;
383  friend class Aspose::Words::Layout::PreAps::LayoutSpanPicture;
384  friend class Aspose::Words::Validation::BookmarkValidator;
385  friend class Aspose::Words::Document;
386  friend class Aspose::Words::DocumentBuilder;
387  friend class Aspose::Words::Validation::DocumentPostLoader;
388  friend class Aspose::Words::Validation::DocumentValidator;
389  friend class Aspose::Words::Validation::RunPrCollectorBase;
390  friend class Aspose::Words::Validation::ShapeImageOptimizer;
391  friend class Aspose::Words::SaveInfo;
392  friend class Aspose::Words::Validation::ShapeIdGenerator;
393  friend class Aspose::Words::Drawing::Fill;
396  friend class Aspose::Words::Drawing::Shape;
397  friend class Aspose::Words::ApsBuilder::Spans::LineApsBuilder;
399  friend class Aspose::Words::ApsBuilder::Shapes::DmlShapeApsBuilder;
400  friend class Aspose::Words::ApsBuilder::Shapes::ShapeApsBuilder;
401  friend class Aspose::Words::ApsBuilder::Shapes::ShapeApsBuilderContext;
402  friend class Aspose::Words::ApsBuilder::Shapes::ShapeBoundsFinder;
403  friend class Aspose::Words::ApsBuilder::Shapes::BrushFactory;
404  friend class Aspose::Words::ApsBuilder::Shapes::ShapeInfo;
405  friend class Aspose::Words::ApsBuilder::Shapes::ShapeTransformer;
406  friend class Aspose::Words::RW::Html::Css::New::CssHRuleHeightStyleConverter;
407  friend class Aspose::Words::RW::Html::Css::New::CssBorderStyleConverter;
408  friend class Aspose::Words::RW::Html::Css::New::CssWidthPropertyDef;
409  friend class Aspose::Words::RW::Nrx::Writer::NrxShapeDefaultsWriter;
410  friend class Aspose::Words::RW::Rtf::Reader::RtfContentHandler;
411  friend class Aspose::Words::RW::Rtf::Reader::RtfLegacyShapeHandler;
412  friend class Aspose::Words::RW::MarkupLanguage::Writer::MarkupLanguageShapeResourceWriter;
413  friend class Aspose::Words::RW::Vml::VmlFillReader;
414  friend class Aspose::Words::Validation::DmlToVml::DmlPictureToShapeConverter;
415  friend class Aspose::Words::RW::Dml::Writer::DmlDrawingWriter;
416  friend class Aspose::Words::RW::Odt::Reader::OdtObjectReader;
417  friend class Aspose::Words::RW::Odt::Reader::OdtPathReader;
418  friend class Aspose::Words::RW::Doc::Escher::EsShapeBounds;
419  friend class Aspose::Words::Drawing::Stroke;
420  friend class Aspose::Words::Drawing::TextBox;
421  friend class Aspose::Words::NodeImporter;
423  friend class Aspose::Words::Section;
424  friend class Aspose::Words::ApsBuilder::Shapes::GeometryResolver;
425  friend class Aspose::Words::RW::Dml::Reader::DmlDrawingReader;
426  friend class Aspose::Words::RW::Nrx::Reader::NrxDocumentReaderBase;
427  friend class Aspose::Words::RW::Docx::Writer::DocxDocumentWriterBase;
428  friend class Aspose::Words::RW::Odt::OdtEnum;
429  friend class Aspose::Words::RW::Odt::Reader::OdtCustomShapeReader;
430  friend class Aspose::Words::RW::Odt::Reader::OdtGReader;
431  friend class Aspose::Words::RW::Odt::Reader::OdtEllipseReader;
432  friend class Aspose::Words::RW::Odt::Reader::OdtRectReader;
433  friend class Aspose::Words::RW::Odt::Reader::OdtBinaryObjectReader;
434  friend class Aspose::Words::RW::Odt::Reader::OdtConnectorReader;
435  friend class Aspose::Words::RW::Odt::Reader::OdtLineReader;
436  friend class Aspose::Words::RW::Odt::Reader::OdtListLevelPropertiesReader;
437  friend class Aspose::Words::RW::Odt::Writer::OdtEnhancedGeometryWriter;
438  friend class Aspose::Words::RW::Odt::Writer::OdtShapeWriter;
439  friend class Aspose::Words::RW::Odt::Writer::OdtGraphicPropertiesWriter;
440  friend class Aspose::Words::RW::Vml::VmlOleReader;
441  friend class Aspose::Words::RW::Vml::VmlShapeReader;
442  friend class Aspose::Words::RW::Odt::Reader::OdtTextBoxReader;
443  friend class Aspose::Words::RW::Odt::Reader::OdtFrameReader;
444  friend class Aspose::Words::RW::Odt::Reader::OdtParagraphReader;
445  friend class Aspose::Words::RW::Docx::Writer::DocxNumberingWriter;
446  friend class Aspose::Words::RW::Doc::Escher::EsDrawingFiler;
447  friend class Aspose::Words::RW::Doc::Escher::EsShapeFiler;
448  friend class Aspose::Words::RW::Doc::Escher::EsShapePrWriter;
449  friend class Aspose::Words::RW::Doc::Reader::ModelBuilder;
450  friend class Aspose::Words::RW::Doc::Reader::Parser;
451  friend class Aspose::Words::RW::Doc::Shapes::Fspa;
452  friend class Aspose::Words::RW::Doc::Shapes::Picf;
453  friend class Aspose::Words::RW::Doc::Writer::ShapeWriter;
454  friend class Aspose::Words::RW::Html::Reader::HtmlListReader;
455  friend class Aspose::Words::RW::Html::Reader::HtmlReader;
456  friend class Aspose::Words::RW::Odt::Writer::OdtAutoStylesWriter;
457  friend class Aspose::Words::RW::Rtf::Reader::RtfPictureHandler;
458  friend class Aspose::Words::RW::Rtf::Reader::RtfModelBuilder;
459  friend class Aspose::Words::RW::Rtf::Reader::RtfOleHandler;
460  friend class Aspose::Words::RW::Rtf::Reader::RtfShapeHandler;
461  friend class Aspose::Words::RW::Rtf::Reader::RtfShapePropertyHandler;
462  friend class Aspose::Words::RW::Rtf::Writer::RtfOleWriter;
463  friend class Aspose::Words::RW::Rtf::Writer::RtfShapePrWriter;
464  friend class Aspose::Words::RW::Rtf::Writer::RtfShapeWriter;
465  friend class Aspose::Words::RW::Rtf::Writer::RtfWriter;
466  friend class Aspose::Words::RW::Vml::VmlShapeWriter;
467  friend class Aspose::Words::RW::Wml::Writer::WmlWriter;
468  friend class Aspose::Words::Model::Nrx::NrxXmlUtil;
469 
470 public:
471  using Aspose::Words::CompositeNode::Clone;
472 
473 public:
474 
478  ASPOSE_WORDS_SHARED_API void set_RunPr_IInline(System::SharedPtr<Aspose::Words::RunPr> value);
479  ASPOSE_WORDS_SHARED_API int32_t get_ZOrder_IShape();
480  ASPOSE_WORDS_SHARED_API void set_ZOrder_IShape(int32_t value);
481  ASPOSE_WORDS_SHARED_API System::SharedPtr<Aspose::Words::Revisions::EditRevision> get_InsertRevision();
482  ASPOSE_WORDS_SHARED_API void set_InsertRevision(System::SharedPtr<Aspose::Words::Revisions::EditRevision> value);
483  ASPOSE_WORDS_SHARED_API System::SharedPtr<Aspose::Words::Revisions::EditRevision> get_DeleteRevision();
484  ASPOSE_WORDS_SHARED_API void set_DeleteRevision(System::SharedPtr<Aspose::Words::Revisions::EditRevision> value);
485  ASPOSE_WORDS_SHARED_API System::SharedPtr<Aspose::Words::Revisions::MoveRevision> get_MoveFromRevision();
486  ASPOSE_WORDS_SHARED_API void set_MoveFromRevision(System::SharedPtr<Aspose::Words::Revisions::MoveRevision> value);
487  ASPOSE_WORDS_SHARED_API System::SharedPtr<Aspose::Words::Revisions::MoveRevision> get_MoveToRevision();
488  ASPOSE_WORDS_SHARED_API void set_MoveToRevision(System::SharedPtr<Aspose::Words::Revisions::MoveRevision> value);
489 
496  ASPOSE_WORDS_SHARED_API System::String get_ScreenTip();
497 
499  ASPOSE_WORDS_SHARED_API void set_ScreenTip(System::String value);
500 
514  ASPOSE_WORDS_SHARED_API System::String get_HRef();
515 
517  ASPOSE_WORDS_SHARED_API void set_HRef(System::String value);
518 
525  ASPOSE_WORDS_SHARED_API System::String get_Target();
526 
528  ASPOSE_WORDS_SHARED_API void set_Target(System::String value);
529 
536  ASPOSE_WORDS_SHARED_API System::String get_AlternativeText();
537 
539  ASPOSE_WORDS_SHARED_API void set_AlternativeText(System::String value);
540 
548  ASPOSE_WORDS_SHARED_API System::String get_Title();
549 
551  ASPOSE_WORDS_SHARED_API void set_Title(System::String value);
552 
560  ASPOSE_WORDS_SHARED_API System::String get_Name();
561 
563  ASPOSE_WORDS_SHARED_API void set_Name(System::String value);
564 
568  ASPOSE_WORDS_SHARED_API bool get_IsInsertRevision();
569 
573  ASPOSE_WORDS_SHARED_API bool get_IsDeleteRevision();
574 
578  ASPOSE_WORDS_SHARED_API bool get_IsMoveFromRevision();
579 
583  ASPOSE_WORDS_SHARED_API bool get_IsMoveToRevision();
584 
588  ASPOSE_WORDS_SHARED_API bool get_IsTopLevel();
589 
593  ASPOSE_WORDS_SHARED_API bool get_IsGroup();
594 
598  ASPOSE_WORDS_SHARED_API bool get_IsImage();
599 
603  ASPOSE_WORDS_SHARED_API bool get_IsHorizontalRule();
604 
612  ASPOSE_WORDS_SHARED_API bool get_IsWordArt();
613 
621  ASPOSE_WORDS_SHARED_API bool get_CanHaveImage();
622 
633  ASPOSE_WORDS_SHARED_API bool get_AnchorLocked();
634 
636  ASPOSE_WORDS_SHARED_API void set_AnchorLocked(bool value);
637 
646  ASPOSE_WORDS_SHARED_API bool get_AspectRatioLocked();
647 
649  ASPOSE_WORDS_SHARED_API void set_AspectRatioLocked(bool value);
650 
660  ASPOSE_WORDS_SHARED_API bool get_AllowOverlap();
661 
663  ASPOSE_WORDS_SHARED_API void set_AllowOverlap(bool value);
664 
673  ASPOSE_WORDS_SHARED_API bool get_BehindText();
674 
676  ASPOSE_WORDS_SHARED_API void set_BehindText(bool value);
677 
684  ASPOSE_WORDS_SHARED_API bool get_IsInline();
685 
695  ASPOSE_WORDS_SHARED_API double get_Left();
696 
698  ASPOSE_WORDS_SHARED_API void set_Left(double value);
699 
709  ASPOSE_WORDS_SHARED_API double get_Top();
710 
712  ASPOSE_WORDS_SHARED_API void set_Top(double value);
713 
721  ASPOSE_WORDS_SHARED_API double get_Right();
722 
730  ASPOSE_WORDS_SHARED_API double get_Bottom();
731 
740  ASPOSE_WORDS_SHARED_API double get_Width();
741 
743  ASPOSE_WORDS_SHARED_API void set_Width(double value);
744 
753  ASPOSE_WORDS_SHARED_API double get_Height();
754 
756  ASPOSE_WORDS_SHARED_API void set_Height(double value);
757 
765  ASPOSE_WORDS_SHARED_API double get_DistanceTop();
766 
768  ASPOSE_WORDS_SHARED_API void set_DistanceTop(double value);
769 
777  ASPOSE_WORDS_SHARED_API double get_DistanceBottom();
778 
780  ASPOSE_WORDS_SHARED_API void set_DistanceBottom(double value);
781 
789  ASPOSE_WORDS_SHARED_API double get_DistanceLeft();
790 
792  ASPOSE_WORDS_SHARED_API void set_DistanceLeft(double value);
793 
801  ASPOSE_WORDS_SHARED_API double get_DistanceRight();
802 
804  ASPOSE_WORDS_SHARED_API void set_DistanceRight(double value);
805 
813  ASPOSE_WORDS_SHARED_API double get_Rotation();
814 
816  ASPOSE_WORDS_SHARED_API void set_Rotation(double value);
817 
832  ASPOSE_WORDS_SHARED_API int32_t get_ZOrder();
833 
835  ASPOSE_WORDS_SHARED_API void set_ZOrder(int32_t value);
836 
842 
853  ASPOSE_WORDS_SHARED_API System::Drawing::RectangleF get_Bounds();
854 
856  ASPOSE_WORDS_SHARED_API void set_Bounds(System::Drawing::RectangleF value);
857 
862 
868 
873 
878 
882  ASPOSE_WORDS_SHARED_API System::Drawing::SizeF get_SizeInPoints();
883 
891 
894 
903 
906 
915 
918 
927 
930 
939 
942 
951 
953  ASPOSE_WORDS_SHARED_API void set_WrapType(Aspose::Words::Drawing::WrapType value);
954 
963 
965  ASPOSE_WORDS_SHARED_API void set_WrapSide(Aspose::Words::Drawing::WrapSide value);
966 
973  ASPOSE_WORDS_SHARED_API System::Drawing::Point get_CoordOrigin();
974 
976  ASPOSE_WORDS_SHARED_API void set_CoordOrigin(System::Drawing::Point value);
977 
984  ASPOSE_WORDS_SHARED_API System::Drawing::Size get_CoordSize();
985 
987  ASPOSE_WORDS_SHARED_API void set_CoordSize(System::Drawing::Size value);
988 
993 
997  ASPOSE_WORDS_SHARED_API bool get_IsSignatureLine();
998 
1007  ASPOSE_WORDS_SHARED_API bool get_IsLayoutInCell();
1008 
1010  ASPOSE_WORDS_SHARED_API void set_IsLayoutInCell(bool value);
1011 
1022 
1026  ASPOSE_WORDS_SHARED_API System::SharedPtr<System::Object> GetDirectShapeAttr(int32_t key);
1027 
1031  ASPOSE_WORDS_SHARED_API System::SharedPtr<System::Object> FetchInheritedShapeAttr(int32_t key);
1032 
1036  ASPOSE_WORDS_SHARED_API System::SharedPtr<System::Object> FetchShapeAttr(int32_t key);
1037 
1041  ASPOSE_WORDS_SHARED_API void SetShapeAttr(int32_t key, System::SharedPtr<System::Object> value);
1042 
1046  ASPOSE_WORDS_SHARED_API void RemoveShapeAttr(int32_t key);
1047  ASPOSE_WORDS_SHARED_API System::SharedPtr<System::Object> GetDirectRunAttr(int32_t fontAttr);
1048  ASPOSE_WORDS_SHARED_API System::SharedPtr<System::Object> FetchInheritedRunAttr(int32_t fontAttr);
1049  ASPOSE_WORDS_SHARED_API void SetRunAttr(int32_t fontAttr, System::SharedPtr<System::Object> value);
1050  ASPOSE_WORDS_SHARED_API void RemoveRunAttr(int32_t key);
1051  ASPOSE_WORDS_SHARED_API void ClearRunAttrs();
1052 
1057 
1062 
1063 protected:
1064 
1065  virtual bool get_IsPercentWidthInapplicable() = 0;
1066  bool get_IsTextBox();
1067  bool get_IsEffectExtentEmpty();
1068  Aspose::Words::Drawing::FlipOrientation get_ParentFlipOrientation();
1070  int32_t get_CoordOriginX();
1071  void set_CoordOriginX(int32_t value);
1072  int32_t get_CoordOriginY();
1073  void set_CoordOriginY(int32_t value);
1074  int32_t get_Id();
1075  void set_Id(int32_t value);
1076  bool get_IsOleObject();
1077  bool get_IsOleControl();
1078  bool get_IsOle();
1079  bool get_IsStandardHorizontalRule();
1080  bool get_IsNeedDummyWhenInline();
1081  bool get_IsPictureBullet();
1082  void set_IsPictureBullet(bool value);
1083  System::Drawing::SizeF get_Size();
1084  System::SharedPtr<System::Object> get_LeftPercent();
1085  System::SharedPtr<System::Object> get_TopPercent();
1086  System::SharedPtr<System::Object> get_WidthPercent();
1087  System::SharedPtr<System::Object> get_HeightPercent();
1088  Aspose::Words::Drawing::Core::RelativeWidth get_RelativeWidth();
1089  Aspose::Words::Drawing::Core::RelativeHeight get_RelativeHeight();
1090  int32_t get_CoordSizeWidth();
1091  int32_t get_CoordSizeHeight();
1092  double get_TotalRotation();
1093  bool get_HasHyperlink();
1094  bool get_IsHyperlinkedInline();
1095  System::String get_HyperlinkAddress();
1096  System::String get_HyperlinkSubAddress();
1099  System::SharedPtr<Aspose::Words::RunPr> get_RunPr() const;
1100  void set_RunPr(System::SharedPtr<Aspose::Words::RunPr> value);
1101  Aspose::Words::Drawing::Core::ConnectorType get_ConnectorType();
1102  void set_ConnectorType(Aspose::Words::Drawing::Core::ConnectorType value);
1103  bool get_IsConnector();
1104  int32_t get_Txid();
1105  void set_Txid(int32_t value);
1106  int32_t get_TextboxNextShapeId();
1107  void set_TextboxNextShapeId(int32_t value);
1108  bool get_Hidden();
1109  void set_Hidden(bool value);
1110  System::ArrayPtr<uint8_t> get_InkData();
1111  bool get_InkAnnotation();
1112  bool get_IsPseudoInline();
1113  System::ArrayPtr<System::Drawing::PointF> get_WrapPolygonVertices();
1114  bool get_IsCalloutShapeType();
1115  bool get_IsConnectorShapeType();
1116  bool get_IsBracket();
1117  bool get_IsBrace();
1118  bool get_IsDmlShape();
1119  Aspose::Words::Drawing::LayoutFlow get_LayoutFlow();
1120  int32_t get_TextboxId() const;
1121  void set_TextboxId(int32_t value);
1122  int32_t get_LinkedTextboxId() const;
1123  void set_LinkedTextboxId(int32_t value);
1124  int32_t get_LinkedTextboxSeq() const;
1125  void set_LinkedTextboxSeq(int32_t value);
1126  bool get_HasTextbox();
1129  bool get_SupportRendering();
1130  bool get_IsGridCalculationSupported();
1131  Aspose::Words::Drawing::Charts::Core::ComplexTypes::DmlChartUserShapeAnchorType get_AnchorType() const;
1132  void set_AnchorType(Aspose::Words::Drawing::Charts::Core::ComplexTypes::DmlChartUserShapeAnchorType value);
1133  System::Drawing::PointF get_From() const;
1134  void set_From(System::Drawing::PointF value);
1135  System::Drawing::PointF get_To() const;
1136  void set_To(System::Drawing::PointF value);
1140  bool get_HasDrawingExtensions();
1141  bool get_IsFallback() const;
1142  void set_IsFallback(bool value);
1143  System::Drawing::Size get_EffectiveCoordSize();
1144  int32_t get_EffectiveCoordSizeWidth();
1145  int32_t get_EffectiveCoordSizeHeight();
1147  bool get_CanHaveFillImage();
1148  bool get_IsWatermark();
1149  bool get_CanBeTextWatermark();
1150  bool get_CanBeImageWatermark();
1151 
1152  static double& DefaultShapeSize();
1153 
1154  static const int32_t MainDrawingPatriarchShapeId;
1155  static const int32_t ShapeIdClusterSize;
1156 
1158 
1159  System::Drawing::RectangleF ConvertLocalToTopmostAnchor(System::Drawing::RectangleF rect);
1160  System::Drawing::PointF ParentToPoints(System::Drawing::PointF value);
1161  bool HasTextBoxes();
1162  bool HasFields();
1163  bool HasDmlNodes(Aspose::Words::Drawing::Core::Dml::DmlNodeType dmlNodeType);
1164  void SetShapeType(Aspose::Words::Drawing::ShapeType shapeType);
1165  virtual ASPOSE_WORDS_SHARED_API System::SharedPtr<Aspose::Words::Node> Clone(bool isCloneChildren, System::SharedPtr<Aspose::Words::INodeCloningListener> cloningListener);
1167  void SetSizeSafe(double width, double height);
1168  void SetWidthSafe(double value);
1169  void SetHeightSafe(double value);
1170  void MakeSizeValid();
1172  bool RequiresBoundsRecalculation();
1173  void UpdateSizeAndPosition();
1174  void AdjustHorizontalRuleHeight();
1175  void UpdateSizeAndPositionFromRelative();
1176  void SetCoordSizeSafe(System::Drawing::Size value);
1177  void SetCoordSizeWidthSafe(int32_t width);
1178  void SetCoordSizeHeightSafe(int32_t height);
1179  bool IsChangedSinceLoad();
1180  void MarkLoaded();
1181  void UpdateFallBackParent();
1183  void SetIsSignatureLine(bool value);
1184  static System::String GenerateAltText(System::String title, System::String description);
1185  static bool IsAllowedShapeTypes(Aspose::Words::Drawing::ShapeType shapeType);
1186  System::Drawing::RectangleF GetsSizeBoxForBounds(double rotation);
1187 
1188  virtual ASPOSE_WORDS_SHARED_API ~ShapeBase();
1189 
1190  ASPOSE_WORDS_SHARED_API System::Object::shared_members_type GetSharedMembers() override;
1191 
1192 private:
1193 
1194  bool get_IsCustomShape();
1195  bool get_SwitchPercentDimensions();
1197 
1205  Aspose::Words::Drawing::Charts::Core::ComplexTypes::DmlChartUserShapeAnchorType mAnchorType;
1209  int32_t mTextboxId;
1210  int32_t mLinkedTextboxId;
1211  int32_t mLinkedTextboxSeq;
1212  int64_t mHashCodeCache;
1213  static const int32_t DefaultPercentValue;
1214  bool mIsFallback;
1215  System::Drawing::Size mEffectiveCoordSize;
1216 
1217  void UpdateLeftFromPercent(System::SharedPtr<Aspose::Words::PageSetup> ps);
1218  void UpdateTopFromPercent(System::SharedPtr<Aspose::Words::PageSetup> ps);
1219  void UpdateWidthFromPercent(System::SharedPtr<Aspose::Words::PageSetup> ps);
1220  void UpdateHeightFromPercent(System::SharedPtr<Aspose::Words::PageSetup> ps);
1221  void SetPercentWidth(double value);
1222  void SetPercentHeight(double value);
1223  void SetWidthLockAspectRatioSensitive(double value, bool isThrow);
1224  void SetHeightLockAspectRatioSensitive(double value, bool isThrow);
1225  void ResetRelSizeValue(int32_t key);
1226  void SetWidthCore(double value, bool isThrow);
1227  void SetHeightCore(double value, bool isThrow);
1228  void ValidateZeroSizeShape();
1229  System::Drawing::SizeF CalculateNotZeroSize();
1230  int64_t CalculateHashCode();
1232  System::Drawing::RectangleF GetPathBoundingRect();
1233  System::Drawing::RectangleF GetsBoundsWithEffects();
1234  float GetIntegerNumberOfTwips(float value);
1235  float GetExtentEffectValue(int32_t attr);
1236 
1237 };
1238 
1239 }
1240 }
1241 }
Provides methods to render an individual Shape or GroupShape to a raster or vector image or to a Grap...
Definition: ShapeRenderer.h:27
double get_DistanceTop()
Returns or sets the distance (in points) between the document text and the top edge of the shape.
System::Drawing::Point get_CoordOrigin()
The coordinates at the top-left corner of the containing block of this shape.
@ Doc
Microsoft Word 95 or Word 97 - 2003 Document.
@ Shape
A drawing object, such as an OfficeArt shape, image or an OLE object.
System::Details::SharedMembersType shared_members_type
double get_Top()
Gets or sets the position of the top edge of the containing block of the shape.
System::String get_Target()
Gets or sets the target frame for the shape hyperlink.
@ Fill
Fill overlay effect.
void set_RelativeHorizontalPosition(Aspose::Words::Drawing::RelativeHorizontalPosition value)
Setter for Aspose::Words::Drawing::ShapeBase::get_RelativeHorizontalPosition.
@ Odt
ODF Text Document.
void set_ScreenTip(System::String value)
Setter for Aspose::Words::Drawing::ShapeBase::get_ScreenTip.
RelativeVerticalPosition
Specifies to what the vertical position of a shape or text frame is relative.
Definition: RelativeVerticalPosition.h:29
double get_Height()
Gets or sets the height of the containing block of the shape.
@ Vml
Vector Markup Language is used to define the shape.
@ Html
double get_DistanceLeft()
Returns or sets the distance (in points) between the document text and the left edge of the shape.
bool get_AllowOverlap()
Gets or sets a value that specifies whether this shape can overlap other shapes.
void set_ZOrder_IShape(int32_t value)
System::Drawing::RectangleF get_Bounds()
Gets or sets the location and size of the containing block of the shape.
Defines a fill for a shape.
Definition: Fill.h:61
int32_t get_ZOrder_IShape()
@ Shapes
Module that renders ordinary shapes.
System::Drawing::SizeF get_SizeInPoints()
Gets the size of the shape in points.
@ Text
bool get_IsHorizontalRule()
Returns true if this shape is a horizontal rule.
@ Nrx
Common modules that are shared between DOCX/WML reader/writer modules.
System::Drawing::RectangleF AdjustWithEffects(System::Drawing::RectangleF source)
Adds to the source rectangle values of the effect extent and returns the final rectangle.
Aspose::Words::Drawing::RelativeVerticalPosition get_RelativeVerticalPosition()
Specifies relative to what the shape is positioned vertically.
@ Dml
Drawing Markup Language is used to define the shape.
Defines a stroke for a shape.
Definition: Stroke.h:56
bool get_IsDeleteRevision()
Returns true if this object was deleted in Microsoft Word while change tracking was enabled.
void set_DistanceBottom(double value)
Setter for Aspose::Words::Drawing::ShapeBase::get_DistanceBottom.
bool get_IsGroup()
Returns true if this is a group shape.
double get_Rotation()
Defines the angle (in degrees) that a shape is rotated. Positive value corresponds to clockwise rotat...
Represents a Word document.
Definition: Document.h:270
Represents a single section in a document.
Definition: Section.h:99
LayoutFlow
Determines the flow of the text layout in a textbox.
Definition: LayoutFlow.h:28
@ GroupShape
A group of shapes, images, OLE objects or other group shapes.
void set_Bounds(System::Drawing::RectangleF value)
Setter for Aspose::Words::Drawing::ShapeBase::get_Bounds.
Defines an image for a shape.
Definition: ImageData.h:82
Base class for objects in the drawing layer, such as an AutoShape, freeform, OLE object,...
Definition: ShapeBase.h:271
void set_AllowOverlap(bool value)
Setter for Aspose::Words::Drawing::ShapeBase::get_AllowOverlap.
void set_DistanceTop(double value)
Setter for Aspose::Words::Drawing::ShapeBase::get_DistanceTop.
Aspose::Words::Drawing::WrapSide get_WrapSide()
Specifies how the text is wrapped around the shape.
double get_Bottom()
Gets the position of the bottom edge of the containing block of the shape.
void set_Title(System::String value)
Setter for Aspose::Words::Drawing::ShapeBase::get_Title.
void set_CoordSize(System::Drawing::Size value)
Setter for Aspose::Words::Drawing::ShapeBase::get_CoordSize.
void set_Width(double value)
Setter for Aspose::Words::Drawing::ShapeBase::get_Width.
double get_DistanceBottom()
Returns or sets the distance (in points) between the document text and the bottom edge of the shape.
@ Rtf
RTF format.
A collection of Revision objects that represent revisions in the document.
Definition: RevisionCollection.h:44
void set_Left(double value)
Setter for Aspose::Words::Drawing::ShapeBase::get_Left.
System::SharedPtr< Aspose::Words::Paragraph > get_ParentParagraph()
Returns the immediate parent paragraph.
@ Content
void set_BehindText(bool value)
Setter for Aspose::Words::Drawing::ShapeBase::get_BehindText.
void set_WrapSide(Aspose::Words::Drawing::WrapSide value)
Setter for Aspose::Words::Drawing::ShapeBase::get_WrapSide.
System::Drawing::PointF LocalToParent(System::Drawing::PointF value)
Converts a value from the local coordinate space into the coordinate space of the parent shape.
void set_Target(System::String value)
Setter for Aspose::Words::Drawing::ShapeBase::get_Target.
@ Words
bool get_BehindText()
Specifies whether the shape is below or above text.
void set_Top(double value)
Setter for Aspose::Words::Drawing::ShapeBase::get_Top.
Allows to efficiently perform repeated import of nodes from one document to another.
Definition: NodeImporter.h:91
void set_CoordOrigin(System::Drawing::Point value)
Setter for Aspose::Words::Drawing::ShapeBase::get_CoordOrigin.
Stores and manages formatting of bulleted and numbered lists used in a document.
Definition: ListCollection.h:122
bool get_IsInsertRevision()
Returns true if this object was inserted in Microsoft Word while change tracking was enabled.
void set_FlipOrientation(Aspose::Words::Drawing::FlipOrientation value)
Setter for Aspose::Words::Drawing::ShapeBase::get_FlipOrientation.
void set_ZOrder(int32_t value)
Setter for Aspose::Words::Drawing::ShapeBase::get_ZOrder.
System::SharedPtr< Aspose::Words::DocumentBase > get_Document_IInline()
Represents class to work with document watermark.
Definition: Watermark.h:34
Represents a group of shapes in a document.
Definition: GroupShape.h:44
double get_DistanceRight()
Returns or sets the distance (in points) between the document text and the right edge of the shape.
void set_Rotation(double value)
Setter for Aspose::Words::Drawing::ShapeBase::get_Rotation.
FlipOrientation
Possible values for the orientation of a shape.
Definition: FlipOrientation.h:29
@ New
Other document is used as a base during comparison.
@ Document
void set_HRef(System::String value)
Setter for Aspose::Words::Drawing::ShapeBase::get_HRef.
Base class for nodes that can contain other nodes.
Definition: CompositeNode.h:133
System::String get_Name()
Gets or sets the optional shape name.
void set_AnchorLocked(bool value)
Setter for Aspose::Words::Drawing::ShapeBase::get_AnchorLocked.
double get_Left()
Gets or sets the position of the left edge of the containing block of the shape.
Aspose::Words::Drawing::WrapType get_WrapType()
Defines whether the shape is inline or floating. For floating shapes defines the wrapping mode for te...
Aspose::Words::Drawing::HorizontalAlignment get_HorizontalAlignment()
Specifies how the shape is positioned horizontally.
double get_Width()
Gets or sets the width of the containing block of the shape.
void set_AlternativeText(System::String value)
Setter for Aspose::Words::Drawing::ShapeBase::get_AlternativeText.
System::SharedPtr< Aspose::Words::Rendering::ShapeRenderer > GetShapeRenderer()
Creates and returns an object that can be used to render this shape into an image.
Aspose::Words::Drawing::VerticalAlignment get_VerticalAlignment()
Specifies how the shape is positioned vertically.
Represents an object in the drawing layer, such as an AutoShape, textbox, freeform,...
Definition: Shape.h:145
HorizontalAlignment
Specifies horizontal alignment of a floating shape, text frame or floating table.
Definition: HorizontalAlignment.h:29
bool get_IsTopLevel()
Returns true if this shape is not a child of a group shape.
void set_IsLayoutInCell(bool value)
Setter for Aspose::Words::Drawing::ShapeBase::get_IsLayoutInCell.
ShapeType
Specifies the type of shape in a Microsoft Word document.
Definition: ShapeType.h:29
VerticalAlignment
Specifies vertical alignment of a floating shape, text frame or a floating table.
Definition: VerticalAlignment.h:29
void set_HorizontalAlignment(Aspose::Words::Drawing::HorizontalAlignment value)
Setter for Aspose::Words::Drawing::ShapeBase::get_HorizontalAlignment.
Aspose::Words::Drawing::ShapeType get_ShapeType()
Gets the shape type.
System::SharedPtr< Aspose::Words::Font > get_Font()
Provides access to the font formatting of this object.
Provides methods to insert text, images and other content, specify font, paragraph and section format...
Definition: DocumentBuilder.h:130
int32_t get_ZOrder()
Determines the display order of overlapping shapes.
bool get_IsWordArt()
Returns true if this shape is a WordArt object.
ShapeMarkupLanguage
Specifies Markup language used for the shape.
Definition: ShapeMarkupLanguage.h:26
System::Drawing::RectangleF get_BoundsWithEffects()
Gets final extent that this shape object has after applying drawing effects. Value is measured in poi...
bool get_CanHaveImage()
Returns true if the shape type allows the shape to have an image.
@ Docx
Office Open XML WordprocessingML Document (macro-free).
void set_Height(double value)
Setter for Aspose::Words::Drawing::ShapeBase::get_Height.
bool get_IsMoveFromRevision()
Returns true if this object was moved (deleted) in Microsoft Word while change tracking was enabled.
void set_Name(System::String value)
Setter for Aspose::Words::Drawing::ShapeBase::get_Name.
bool get_IsMoveToRevision()
Returns true if this object was moved (inserted) in Microsoft Word while change tracking was enabled.
RunPrExpandFlags
RunPrExpandFlags enumeration.
Definition: RunPrExpandFlags.h:20
Aspose::Words::Drawing::FlipOrientation get_FlipOrientation()
Switches the orientation of a shape.
System::SharedPtr< Aspose::Words::RunPr > get_RunPr_IInline()
WrapType
Specifies how text is wrapped around a shape or picture.
Definition: WrapType.h:28
void set_DistanceLeft(double value)
Setter for Aspose::Words::Drawing::ShapeBase::get_DistanceLeft.
bool get_IsLayoutInCell()
Gets or sets a flag indicating whether the shape is displayed inside a table or outside of it.
System::String get_ScreenTip()
Defines the text displayed when the mouse pointer moves over the shape.
double get_Right()
Gets the position of the right edge of the containing block of the shape.
void set_AspectRatioLocked(bool value)
Setter for Aspose::Words::Drawing::ShapeBase::get_AspectRatioLocked.
@ Font
Module that reads font files.
System::String get_AlternativeText()
Defines alternative text to be displayed instead of a graphic.
@ Node
System::String get_HRef()
Gets or sets the full hyperlink address for a shape.
@ Section
A Section object that corresponds to one section in a Word document.
WrapSide
Specifies what side(s) of the shape or picture the text wraps around.
Definition: WrapSide.h:29
@ Layout
Module that builds a document layout.
bool get_AspectRatioLocked()
Specifies whether the shape's aspect ratio is locked.
bool get_IsInline()
A quick way to determine if this shape is positioned inline with text.
bool get_AnchorLocked()
Specifies whether the shape's anchor is locked.
RelativeHorizontalPosition
Specifies to what the horizontal position of a shape or text frame is relative.
Definition: RelativeHorizontalPosition.h:29
Aspose::Words::Drawing::ShapeMarkupLanguage get_MarkupLanguage() const
Gets MarkupLanguage used for this graphic object.
bool get_IsImage()
Returns true if this shape is an image shape.
void set_DistanceRight(double value)
Setter for Aspose::Words::Drawing::ShapeBase::get_DistanceRight.
System::Drawing::Size get_CoordSize()
The width and height of the coordinate space inside the containing block of this shape.
void set_RunPr_IInline(System::SharedPtr< Aspose::Words::RunPr > value)
Defines attributes that specify how a text is displayed inside a shape.
Definition: TextBox.h:43
System::Drawing::RectangleF get_BoundsInPoints()
Gets the location and size of the containing block of the shape in points, relative to the anchor of ...
Aspose::Words::Drawing::RelativeHorizontalPosition get_RelativeHorizontalPosition()
Specifies relative to what the shape is positioned horizontally.
void set_RelativeVerticalPosition(Aspose::Words::Drawing::RelativeVerticalPosition value)
Setter for Aspose::Words::Drawing::ShapeBase::get_RelativeVerticalPosition.
void set_WrapType(Aspose::Words::Drawing::WrapType value)
Setter for Aspose::Words::Drawing::ShapeBase::get_WrapType.
@ Paragraph
Specifies that the building block shall be inserted into its own paragraph.
System::SharedPtr< Aspose::Words::Paragraph > get_ParentParagraph_IInline()
System::String get_Title()
Gets or sets the title (caption) of the current shape object.
bool get_IsSignatureLine()
Indicates that shape is a SignatureLine.
System::SharedPtr< Aspose::Words::RunPr > GetExpandedRunPr_IInline(Aspose::Words::RunPrExpandFlags flags)
void set_VerticalAlignment(Aspose::Words::Drawing::VerticalAlignment value)
Setter for Aspose::Words::Drawing::ShapeBase::get_VerticalAlignment.