search/mag_sel search/close
Shape.h
1 // Copyright 2001-2021 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 <system/array.h>
12 
13 #include <Aspose.Words.Cpp/Drawing/Core/LineFillType.h>
14 #include <Aspose.Words.Cpp/StoryType.h>
15 #include <Aspose.Words.Cpp/NodeType.h>
16 #include <Aspose.Words.Cpp/Drawing/TextBoxWrapMode.h>
17 #include <Aspose.Words.Cpp/Drawing/ShapeType.h>
18 #include <Aspose.Words.Cpp/Drawing/ShapeMarkupLanguage.h>
19 #include <Aspose.Words.Cpp/Drawing/ShapeLineStyle.h>
20 #include <Aspose.Words.Cpp/Drawing/ShapeBase.h>
21 #include <Aspose.Words.Cpp/Drawing/LayoutFlow.h>
22 #include <Aspose.Words.Cpp/Drawing/JoinStyle.h>
23 #include <Aspose.Words.Cpp/Drawing/EndCap.h>
24 #include <Aspose.Words.Cpp/Drawing/DashStyle.h>
25 #include <Aspose.Words.Cpp/Drawing/Core/ITextBox.h>
26 #include <Aspose.Words.Cpp/Drawing/Core/IStrokable.h>
27 #include <Aspose.Words.Cpp/Drawing/ArrowWidth.h>
28 #include <Aspose.Words.Cpp/Drawing/ArrowType.h>
29 #include <Aspose.Words.Cpp/Drawing/ArrowLength.h>
30 #include <Aspose.Words.Cpp/aspose_words_api_defs.h>
31 
32 namespace Aspose { namespace Words { namespace ApsBuilder { namespace Shapes { class LimoMapBuilder; } } } }
33 namespace Aspose { namespace Words { namespace ApsBuilder { namespace Shapes { namespace Content { class TextBoxMetrics; } } } } }
34 namespace Aspose { namespace Words { namespace Drawing { namespace Core { namespace Dml { class DmlShapeInserter; } } } } }
35 namespace Aspose { namespace Words { namespace Drawing { class HorizontalRuleFormat; } } }
36 namespace Aspose { namespace Words { namespace ApsBuilder { namespace Dml { namespace Diagram { class DmlDiagramRenderer; } } } } }
37 namespace Aspose { namespace Words { namespace ApsBuilder { namespace Dml { namespace Diagram { class DmlDiagramRenderingServiceLocator; } } } } }
38 namespace Aspose { namespace Words { namespace ApsBuilder { namespace Math { class MathTextElement; } } } }
39 namespace Aspose { namespace Words { namespace ApsBuilder { namespace Shapes { class GeometryApsBuilder; } } } }
40 namespace Aspose { namespace Words { namespace ApsBuilder { namespace Shapes { namespace Extrusion { class ExtrusionParametersBuilder; } } } } }
41 namespace Aspose { namespace Words { namespace RW { namespace Dml { namespace Writer { class DmlShapeValidator; } } } } }
42 namespace Aspose { namespace Words { namespace RW { namespace Docx { namespace Reader { class ChartInserter; } } } } }
43 namespace Aspose { namespace Words { class VideoInserter; } }
44 namespace Aspose { namespace Words { namespace RW { namespace Markdown { namespace Writer { class MarkdownParagraphWriter; } } } } }
45 namespace Aspose { namespace Words { namespace RW { namespace Markdown { namespace Writer { class MarkdownWriter; } } } } }
46 namespace Aspose { namespace Words { namespace Validation { class OfficeMathToShapeConverter; } } }
47 namespace Aspose { namespace Words { namespace Validation { namespace VmlToDml { class VmlFormulaToDmlConverter; } } } }
48 namespace Aspose { namespace Words { namespace Validation { namespace VmlToDml { class VmlGeometryToDmlConverter; } } } }
49 namespace Aspose { namespace Words { namespace Validation { namespace VmlToDml { class VmlShapeToDmlShapeConverter; } } } }
50 namespace Aspose { namespace Words { namespace RW { namespace Docx { namespace Writer { class DocxBackgroundWriter; } } } } }
51 namespace Aspose { namespace Words { namespace RW { namespace Nrx { namespace Reader { class NrxRunReaderBase; } } } } }
52 namespace Aspose { namespace Words { namespace RW { namespace Odt { namespace Reader { class OdtChartToDmlConverterUtil; } } } } }
53 namespace Aspose { namespace Words { namespace Validation { class ShapeValidator; } } }
54 namespace Aspose { namespace Words { namespace Validation { namespace DmlToVml { class DmlShapeToShapeConverter; } } } }
55 namespace Aspose { namespace Words { namespace RW { namespace Dml { namespace Reader { class DmlContentPartReader; } } } } }
56 namespace Aspose { namespace Words { namespace RW { namespace Dml { namespace Reader { class DmlDiagramReader; } } } } }
57 namespace Aspose { namespace Words { namespace RW { namespace Dml { namespace Reader { class DmlChartReader; } } } } }
58 namespace Aspose { namespace Words { namespace RW { namespace Dml { namespace Reader { class DmlPictureReader; } } } } }
59 namespace Aspose { namespace Words { namespace RW { namespace Dml { namespace Reader { class DmlShapeReader; } } } } }
60 namespace Aspose { namespace Words { namespace ApsBuilder { namespace Shapes { namespace Extrusion { class ExtrusionBoundsCalculator; } } } } }
61 namespace Aspose { namespace Words { namespace ApsBuilder { namespace Shapes { namespace Shadow { class ShadowBuilderParameters; } } } } }
62 namespace Aspose { namespace Words { namespace ApsBuilder { namespace Shapes { class InternalColorResolver; } } } }
63 namespace Aspose { namespace Words { namespace Validation { namespace DmlToVml { class DmlUtil; } } } }
64 namespace Aspose { namespace Words { namespace RW { namespace Html { namespace Writer { class HtmlImageWriter; } } } } }
65 namespace Aspose { namespace Words { namespace RW { namespace Odt { namespace Reader { class OdtCaptionReader; } } } } }
66 namespace Aspose { namespace Words { namespace Validation { class ListValidator; } } }
67 namespace Aspose { namespace Words { class DocumentBuilder; } }
68 namespace Aspose { namespace Words { namespace Validation { class DocumentPostLoader; } } }
69 namespace Aspose { namespace Words { namespace ApsBuilder { namespace Shapes { class ShapeApsBuilder; } } } }
70 namespace Aspose { namespace Words { namespace ApsBuilder { namespace Shapes { class ShapeApsBuilderContext; } } } }
71 namespace Aspose { namespace Words { namespace ApsBuilder { namespace Shapes { class BrushFactory; } } } }
72 namespace Aspose { namespace Words { namespace ApsBuilder { namespace Shapes { class ShapeTransformer; } } } }
73 namespace Aspose { namespace Words { namespace ApsBuilder { namespace Shapes { class TextBoxApsBuilder; } } } }
74 namespace Aspose { namespace Words { namespace RW { namespace Html { namespace Css { namespace New { class CssHRuleAlignmentStyleConverter; } } } } } }
75 namespace Aspose { namespace Words { namespace RW { namespace Html { namespace Css { namespace New { class CssHRuleNoShadeStyleConverter; } } } } } }
76 namespace Aspose { namespace Words { namespace RW { namespace Html { namespace Css { namespace New { class CssWidthPropertyDef; } } } } } }
77 namespace Aspose { namespace Words { namespace RW { namespace Html { namespace Writer { class HtmlCoreWriter; } } } } }
78 namespace Aspose { namespace Words { namespace RW { namespace Rtf { namespace Reader { class RtfContentHandler; } } } } }
79 namespace Aspose { namespace Words { namespace Validation { namespace DmlToVml { class DmlPictureToShapeConverter; } } } }
80 namespace Aspose { namespace Words { namespace RW { namespace Odt { namespace Reader { class OdtPathReader; } } } } }
81 namespace Aspose { namespace Words { namespace Lists { class ListCollection; } } }
82 namespace Aspose { namespace Words { namespace ApsBuilder { namespace Shapes { class GeometryResolver; } } } }
83 namespace Aspose { namespace Words { namespace RW { namespace Docx { namespace Writer { class DocxDocumentWriterBase; } } } } }
84 namespace Aspose { namespace Words { namespace RW { namespace Odt { namespace Reader { class OdtCustomShapeReader; } } } } }
85 namespace Aspose { namespace Words { namespace RW { namespace Odt { namespace Reader { class OdtEllipseReader; } } } } }
86 namespace Aspose { namespace Words { namespace RW { namespace Odt { namespace Reader { class OdtRectReader; } } } } }
87 namespace Aspose { namespace Words { namespace RW { namespace Odt { namespace Reader { class OdtConnectorReader; } } } } }
88 namespace Aspose { namespace Words { namespace RW { namespace Odt { namespace Reader { class OdtLineReader; } } } } }
89 namespace Aspose { namespace Words { namespace RW { namespace Odt { namespace Writer { class OdtEnhancedGeometryWriter; } } } } }
90 namespace Aspose { namespace Words { namespace RW { namespace Odt { namespace Writer { class OdtShapeWriter; } } } } }
91 namespace Aspose { namespace Words { namespace RW { namespace Odt { namespace Writer { class OdtGraphicPropertiesWriter; } } } } }
92 namespace Aspose { namespace Words { namespace RW { namespace Vml { class VmlOleReader; } } } }
93 namespace Aspose { namespace Words { namespace RW { namespace Vml { class VmlShapeReader; } } } }
94 namespace Aspose { namespace Words { namespace RW { namespace Odt { namespace Reader { class OdtFrameReader; } } } } }
95 namespace Aspose { namespace Words { namespace RW { namespace Odt { namespace Reader { class OdtParagraphReader; } } } } }
96 namespace Aspose { namespace Words { class WordUtil; } }
97 namespace Aspose { namespace Words { namespace RW { namespace Doc { namespace Escher { class EsShapeFiler; } } } } }
98 namespace Aspose { namespace Words { namespace RW { namespace Doc { namespace Reader { class DocReader; } } } } }
99 namespace Aspose { namespace Words { namespace RW { namespace Doc { namespace Reader { class ModelBuilder; } } } } }
100 namespace Aspose { namespace Words { namespace RW { namespace Doc { namespace Reader { class Parser; } } } } }
101 namespace Aspose { namespace Words { namespace RW { namespace Html { namespace Reader { class HtmlReader; } } } } }
102 namespace Aspose { namespace Words { namespace RW { namespace Rtf { namespace Reader { class RtfPictureHandler; } } } } }
103 namespace Aspose { namespace Words { namespace RW { namespace Rtf { namespace Reader { class RtfOleHandler; } } } } }
104 namespace Aspose { namespace Words { namespace RW { namespace Rtf { namespace Writer { class RtfOleWriter; } } } } }
105 namespace Aspose { namespace Words { namespace RW { namespace Rtf { namespace Writer { class RtfPictureData; } } } } }
106 namespace Aspose { namespace Words { namespace RW { namespace Vml { class VmlGeoWriter; } } } }
107 namespace Aspose { namespace Words { namespace RW { namespace Wml { namespace Writer { class WmlWriter; } } } } }
108 namespace Aspose { namespace Drawing { class DrColor; } }
109 namespace Aspose { namespace Words { namespace Drawing { namespace Core { namespace Dml { namespace Themes { class IThemeProvider; } } } } } }
110 namespace Aspose { namespace Words { namespace Drawing { class Stroke; } } }
111 namespace System { namespace Drawing { class Color; } }
112 namespace Aspose { namespace Words { namespace Drawing { class ImageData; } } }
113 namespace Aspose { namespace Words { namespace Drawing { class OleFormat; } } }
114 namespace Aspose { namespace Words { namespace Drawing { class TextBox; } } }
115 namespace Aspose { namespace Words { namespace Drawing { class TextPath; } } }
116 namespace Aspose { namespace Words { class Paragraph; } }
117 namespace Aspose { namespace Words { namespace Drawing { class SignatureLine; } } }
118 namespace Aspose { namespace Words { namespace Drawing { namespace Core { class HorizontalRule; } } } }
119 namespace Aspose { namespace Words { namespace Drawing { namespace Core { enum class ConnectorType; } } } }
120 namespace Aspose { namespace Words { namespace Drawing { namespace Core { enum class OleObjectType; } } } }
121 namespace Aspose { namespace Words { namespace Drawing { namespace Core { class PathInfo; } } } }
122 namespace Aspose { namespace Words { namespace Drawing { namespace Core { class PathPoint; } } } }
123 namespace Aspose { namespace Words { namespace Drawing { namespace Core { class Formula; } } } }
124 namespace Aspose { namespace Words { namespace Drawing { namespace Core { enum class ShadowType; } } } }
125 namespace Aspose { namespace Words { namespace Drawing { namespace Core { enum class ThreeDRenderMode; } } } }
126 namespace Aspose { namespace Words { namespace Drawing { namespace Core { class Handle; } } } }
127 namespace Aspose { namespace Words { namespace Drawing { namespace Core { class PathRectangle; } } } }
128 namespace Aspose { namespace Words { namespace Drawing { namespace Charts { class Chart; } } } }
129 namespace Aspose { namespace Words { namespace Drawing { namespace Charts { namespace Core { class ChartCollection; } } } } }
130 namespace Aspose { namespace Words { namespace Drawing { namespace Core { class IStroke; } } } }
131 namespace Aspose { namespace Words { class DocumentBase; } }
132 namespace Aspose { namespace Words { class DocumentVisitor; } }
133 namespace Aspose { namespace Words { enum class VisitorAction; } }
134 namespace Aspose { namespace Words { class Node; } }
135 namespace Aspose { namespace Words { class INodeCloningListener; } }
136 namespace Aspose { namespace Words { namespace Drawing { namespace Core { namespace Dml { enum class DmlNodeType; } } } } }
137 namespace Aspose { namespace Words { class Document; } }
138 namespace Aspose { namespace Rendering { namespace Aps { class ApsNode; } } }
139 namespace Aspose { namespace Words { namespace Drawing { namespace Core { namespace Dml { namespace Outlines { class DmlOutline; } } } } } }
140 
141 namespace Aspose {
142 
143 namespace Words {
144 
145 namespace Drawing {
146 
245 class ASPOSE_WORDS_SHARED_CLASS Shape final : public Aspose::Words::Drawing::ShapeBase, public Aspose::Words::Drawing::Core::ITextBox, public Aspose::Words::Drawing::Core::IStrokable
246 {
247  typedef Shape ThisType;
249  typedef Aspose::Words::Drawing::Core::ITextBox BaseType1;
250  typedef Aspose::Words::Drawing::Core::IStrokable BaseType2;
251 
252  typedef ::System::BaseTypesInfo<BaseType, BaseType1, BaseType2> ThisTypeBaseTypesInfo;
253  ASPOSE_WORDS_SHARED_RTTI_INFO_DECL();
254 
255  friend class Aspose::Words::ApsBuilder::Shapes::LimoMapBuilder;
256  friend class Aspose::Words::ApsBuilder::Shapes::Content::TextBoxMetrics;
257  friend class Aspose::Words::Drawing::Core::Dml::DmlShapeInserter;
259  friend class Aspose::Words::ApsBuilder::Dml::Diagram::DmlDiagramRenderer;
260  friend class Aspose::Words::ApsBuilder::Dml::Diagram::DmlDiagramRenderingServiceLocator;
261  friend class Aspose::Words::ApsBuilder::Math::MathTextElement;
262  friend class Aspose::Words::ApsBuilder::Shapes::GeometryApsBuilder;
263  friend class Aspose::Words::ApsBuilder::Shapes::Extrusion::ExtrusionParametersBuilder;
264  friend class Aspose::Words::RW::Dml::Writer::DmlShapeValidator;
265  friend class Aspose::Words::RW::Docx::Reader::ChartInserter;
266  friend class Aspose::Words::VideoInserter;
267  friend class Aspose::Words::RW::Markdown::Writer::MarkdownParagraphWriter;
268  friend class Aspose::Words::RW::Markdown::Writer::MarkdownWriter;
269  friend class Aspose::Words::Validation::OfficeMathToShapeConverter;
270  friend class Aspose::Words::Validation::VmlToDml::VmlFormulaToDmlConverter;
271  friend class Aspose::Words::Validation::VmlToDml::VmlGeometryToDmlConverter;
272  friend class Aspose::Words::Validation::VmlToDml::VmlShapeToDmlShapeConverter;
273  friend class Aspose::Words::RW::Docx::Writer::DocxBackgroundWriter;
274  friend class Aspose::Words::RW::Nrx::Reader::NrxRunReaderBase;
275  friend class Aspose::Words::RW::Odt::Reader::OdtChartToDmlConverterUtil;
276  friend class Aspose::Words::Validation::ShapeValidator;
277  friend class Aspose::Words::Validation::DmlToVml::DmlShapeToShapeConverter;
278  friend class Aspose::Words::RW::Dml::Reader::DmlContentPartReader;
279  friend class Aspose::Words::RW::Dml::Reader::DmlDiagramReader;
280  friend class Aspose::Words::RW::Dml::Reader::DmlChartReader;
281  friend class Aspose::Words::RW::Dml::Reader::DmlPictureReader;
282  friend class Aspose::Words::RW::Dml::Reader::DmlShapeReader;
283  friend class Aspose::Words::ApsBuilder::Shapes::Extrusion::ExtrusionBoundsCalculator;
284  friend class Aspose::Words::ApsBuilder::Shapes::Shadow::ShadowBuilderParameters;
285  friend class Aspose::Words::ApsBuilder::Shapes::InternalColorResolver;
286  friend class Aspose::Words::Validation::DmlToVml::DmlUtil;
287  friend class Aspose::Words::RW::Html::Writer::HtmlImageWriter;
288  friend class Aspose::Words::RW::Odt::Reader::OdtCaptionReader;
289  friend class Aspose::Words::Validation::ListValidator;
290  friend class Aspose::Words::DocumentBuilder;
291  friend class Aspose::Words::Validation::DocumentPostLoader;
293  friend class Aspose::Words::ApsBuilder::Shapes::ShapeApsBuilder;
294  friend class Aspose::Words::ApsBuilder::Shapes::ShapeApsBuilderContext;
295  friend class Aspose::Words::ApsBuilder::Shapes::BrushFactory;
296  friend class Aspose::Words::ApsBuilder::Shapes::ShapeTransformer;
297  friend class Aspose::Words::ApsBuilder::Shapes::TextBoxApsBuilder;
298  friend class Aspose::Words::RW::Html::Css::New::CssHRuleAlignmentStyleConverter;
299  friend class Aspose::Words::RW::Html::Css::New::CssHRuleNoShadeStyleConverter;
300  friend class Aspose::Words::RW::Html::Css::New::CssWidthPropertyDef;
301  friend class Aspose::Words::RW::Html::Writer::HtmlCoreWriter;
302  friend class Aspose::Words::RW::Rtf::Reader::RtfContentHandler;
303  friend class Aspose::Words::Validation::DmlToVml::DmlPictureToShapeConverter;
304  friend class Aspose::Words::RW::Odt::Reader::OdtPathReader;
306  friend class Aspose::Words::ApsBuilder::Shapes::GeometryResolver;
307  friend class Aspose::Words::RW::Docx::Writer::DocxDocumentWriterBase;
308  friend class Aspose::Words::RW::Odt::Reader::OdtCustomShapeReader;
309  friend class Aspose::Words::RW::Odt::Reader::OdtEllipseReader;
310  friend class Aspose::Words::RW::Odt::Reader::OdtRectReader;
311  friend class Aspose::Words::RW::Odt::Reader::OdtConnectorReader;
312  friend class Aspose::Words::RW::Odt::Reader::OdtLineReader;
313  friend class Aspose::Words::RW::Odt::Writer::OdtEnhancedGeometryWriter;
314  friend class Aspose::Words::RW::Odt::Writer::OdtShapeWriter;
315  friend class Aspose::Words::RW::Odt::Writer::OdtGraphicPropertiesWriter;
316  friend class Aspose::Words::RW::Vml::VmlOleReader;
317  friend class Aspose::Words::RW::Vml::VmlShapeReader;
318  friend class Aspose::Words::RW::Odt::Reader::OdtFrameReader;
319  friend class Aspose::Words::RW::Odt::Reader::OdtParagraphReader;
320  friend class Aspose::Words::WordUtil;
321  friend class Aspose::Words::RW::Doc::Escher::EsShapeFiler;
322  friend class Aspose::Words::RW::Doc::Reader::DocReader;
323  friend class Aspose::Words::RW::Doc::Reader::ModelBuilder;
324  friend class Aspose::Words::RW::Doc::Reader::Parser;
325  friend class Aspose::Words::RW::Html::Reader::HtmlReader;
326  friend class Aspose::Words::RW::Rtf::Reader::RtfPictureHandler;
327  friend class Aspose::Words::RW::Rtf::Reader::RtfOleHandler;
328  friend class Aspose::Words::RW::Rtf::Writer::RtfOleWriter;
329  friend class Aspose::Words::RW::Rtf::Writer::RtfPictureData;
330  friend class Aspose::Words::RW::Vml::VmlGeoWriter;
331  friend class Aspose::Words::RW::Wml::Writer::WmlWriter;
332 
333 public:
334  using Aspose::Words::Drawing::ShapeBase::Clone;
335 
336 public:
337 
339  ASPOSE_WORDS_SHARED_API void set_StrokeForeColor(System::SharedPtr<Aspose::Drawing::DrColor> value) override;
341  ASPOSE_WORDS_SHARED_API void set_StrokeBackColor(System::SharedPtr<Aspose::Drawing::DrColor> value) override;
342  ASPOSE_WORDS_SHARED_API bool get_StrokeVisible() override;
343  ASPOSE_WORDS_SHARED_API void set_StrokeVisible(bool value) override;
344  ASPOSE_WORDS_SHARED_API double get_StrokeTransparency() override;
345  ASPOSE_WORDS_SHARED_API void set_StrokeTransparency(double value) override;
346  ASPOSE_WORDS_SHARED_API double get_Weight() override;
347  ASPOSE_WORDS_SHARED_API void set_Weight(double value) override;
348  ASPOSE_WORDS_SHARED_API Aspose::Words::Drawing::DashStyle get_DashStyle() override;
349  ASPOSE_WORDS_SHARED_API void set_DashStyle(Aspose::Words::Drawing::DashStyle value) override;
350  ASPOSE_WORDS_SHARED_API Aspose::Words::Drawing::JoinStyle get_JoinStyle() override;
351  ASPOSE_WORDS_SHARED_API void set_JoinStyle(Aspose::Words::Drawing::JoinStyle value) override;
352  ASPOSE_WORDS_SHARED_API Aspose::Words::Drawing::EndCap get_EndCap() override;
353  ASPOSE_WORDS_SHARED_API void set_EndCap(Aspose::Words::Drawing::EndCap value) override;
354  ASPOSE_WORDS_SHARED_API Aspose::Words::Drawing::ShapeLineStyle get_LineStyle() override;
355  ASPOSE_WORDS_SHARED_API void set_LineStyle(Aspose::Words::Drawing::ShapeLineStyle value) override;
356  ASPOSE_WORDS_SHARED_API Aspose::Words::Drawing::ArrowType get_StartArrowType() override;
357  ASPOSE_WORDS_SHARED_API void set_StartArrowType(Aspose::Words::Drawing::ArrowType value) override;
358  ASPOSE_WORDS_SHARED_API Aspose::Words::Drawing::ArrowType get_EndArrowType() override;
359  ASPOSE_WORDS_SHARED_API void set_EndArrowType(Aspose::Words::Drawing::ArrowType value) override;
360  ASPOSE_WORDS_SHARED_API Aspose::Words::Drawing::ArrowWidth get_StartArrowWidth() override;
361  ASPOSE_WORDS_SHARED_API void set_StartArrowWidth(Aspose::Words::Drawing::ArrowWidth value) override;
362  ASPOSE_WORDS_SHARED_API Aspose::Words::Drawing::ArrowLength get_StartArrowLength() override;
363  ASPOSE_WORDS_SHARED_API void set_StartArrowLength(Aspose::Words::Drawing::ArrowLength value) override;
364  ASPOSE_WORDS_SHARED_API Aspose::Words::Drawing::ArrowWidth get_EndArrowWidth() override;
365  ASPOSE_WORDS_SHARED_API void set_EndArrowWidth(Aspose::Words::Drawing::ArrowWidth value) override;
366  ASPOSE_WORDS_SHARED_API Aspose::Words::Drawing::ArrowLength get_EndArrowLength() override;
367  ASPOSE_WORDS_SHARED_API void set_EndArrowLength(Aspose::Words::Drawing::ArrowLength value) override;
369  ASPOSE_WORDS_SHARED_API void set_LineFillType(Aspose::Words::Drawing::Core::LineFillType value) override;
370  ASPOSE_WORDS_SHARED_API System::ArrayPtr<uint8_t> get_StrokeImageBytes() override;
372 
417  ASPOSE_WORDS_SHARED_API Aspose::Words::NodeType get_NodeType() const override;
418 
553  ASPOSE_WORDS_SHARED_API Aspose::Words::StoryType get_StoryType();
554 
689  ASPOSE_WORDS_SHARED_API bool get_ExtrusionEnabled();
690 
825  ASPOSE_WORDS_SHARED_API bool get_ShadowEnabled();
826 
903 
1042  ASPOSE_WORDS_SHARED_API bool get_Stroked();
1043 
1045  ASPOSE_WORDS_SHARED_API void set_Stroked(bool value);
1046 
1185  ASPOSE_WORDS_SHARED_API double get_StrokeWeight();
1186 
1188  ASPOSE_WORDS_SHARED_API void set_StrokeWeight(double value);
1189 
1358  ASPOSE_WORDS_SHARED_API System::Drawing::Color get_StrokeColor();
1359 
1361  ASPOSE_WORDS_SHARED_API void set_StrokeColor(System::Drawing::Color value);
1362 
1501  ASPOSE_WORDS_SHARED_API bool get_Filled();
1502 
1504  ASPOSE_WORDS_SHARED_API void set_Filled(bool value);
1505 
1543  ASPOSE_WORDS_SHARED_API System::Drawing::Color get_FillColor();
1544 
1546  ASPOSE_WORDS_SHARED_API void set_FillColor(System::Drawing::Color value);
1547 
1594  ASPOSE_WORDS_SHARED_API bool get_HasImage();
1595 
1662 
1798 
1822 
1932 
1964 
1988 
2011 
2057  ASPOSE_WORDS_SHARED_API bool get_HasVerticalTextFlow_ITextBox() override;
2059 
2194  ASPOSE_WORDS_SHARED_API bool get_HasChart();
2195 
2210  ASPOSE_WORDS_SHARED_API bool get_HasSmartArt();
2211 
2347 
2402 
2545  ASPOSE_WORDS_SHARED_API bool Accept(System::SharedPtr<Aspose::Words::DocumentVisitor> visitor) override;
2546  ASPOSE_WORDS_SHARED_API float GetHorizontalMargins_ITextBox() override;
2547 
2549  ASPOSE_WORDS_SHARED_API void UpdateSmartArtDrawing();
2550 
2551 protected:
2552 
2553  ASPOSE_WORDS_SHARED_API bool get_IsPercentWidthInapplicable() override;
2554  System::String get_ScriptText();
2555  void set_ScriptText(System::String value);
2556  System::String get_ScriptType();
2557  void set_ScriptType(System::String value);
2558  bool get_HasImageBytes();
2559  bool get_IsOoxmlControl();
2561  Aspose::Words::Drawing::Core::ConnectorType get_ConnectorType();
2562  void set_ConnectorType(Aspose::Words::Drawing::Core::ConnectorType value);
2563  Aspose::Words::Drawing::Core::OleObjectType get_OleObjectType();
2568  int32_t get_LimoX();
2569  void set_LimoX(int32_t value);
2570  int32_t get_LimoY();
2571  void set_LimoY(int32_t value);
2572  bool get_IsFitTextboxToText();
2573  void set_IsFitTextboxToText(bool value);
2574  int32_t get_ShadowOpacity();
2576  System::SharedPtr<Aspose::Drawing::DrColor> get_ShadowHighlight();
2577  int32_t get_ShadowOffsetX();
2578  int32_t get_ShadowOffsetY();
2579  int32_t get_ShadowSecondOffsetX();
2580  int32_t get_ShadowSecondOffsetY();
2581  int32_t get_ShadowScaleXtoX();
2582  int32_t get_ShadowScaleYtoY();
2583  int32_t get_ShadowScaleXtoY();
2584  int32_t get_ShadowScaleYtoX();
2585  int32_t get_ShadowOriginX();
2586  int32_t get_ShadowOriginY();
2587  int32_t get_ShadowPerspectiveX();
2588  int32_t get_ShadowPerspectiveY();
2589  Aspose::Words::Drawing::Core::ShadowType get_ShadowType();
2590  bool get_IsParallelExtrusion();
2591  int32_t get_ExtrusionSkewAngle();
2592  int32_t get_ExtrusionForeDepth();
2593  int32_t get_ExtrusionBackDepth();
2594  System::SharedPtr<Aspose::Drawing::DrColor> get_ExtrusionColor();
2595  bool get_ShouldUpdateRelativeSizeConsideringExtrusion();
2596  int32_t get_ViewpointX();
2597  int32_t get_ViewpointY();
2598  int32_t get_ViewpointZ();
2599  int32_t get_ViewpointOriginX();
2600  int32_t get_ViewpointOriginY();
2601  int32_t get_TDRotationAngleX();
2602  int32_t get_TDRotationAngleY();
2603  int32_t get_TDLight1PositionX();
2604  int32_t get_TDLight1PositionY();
2605  int32_t get_TDLight1PositionZ();
2606  int32_t get_TDLight1Intensity();
2607  bool get_TDLight1Harsh();
2608  int32_t get_TDLight2PositionX();
2609  int32_t get_TDLight2PositionY();
2610  int32_t get_TDLight2PositionZ();
2611  int32_t get_TDLight2Intensity();
2612  bool get_TDLight2Harsh();
2613  int32_t get_TDAmbientIntensity();
2614  int32_t get_TDSpecularAmount();
2615  int32_t get_TDDiffuseAmount();
2616  bool get_TDMetallic();
2617  Aspose::Words::Drawing::Core::ThreeDRenderMode get_RenderMode();
2621  bool get_IsTextureRotated();
2622  bool get_IgnoreFill();
2623  bool get_HasFillImage();
2625 
2627 
2628  MEMBER_FUNCTION_MAKE_OBJECT_DECLARATION(Shape, CODEPORTING_ARGS(System::SharedPtr<Aspose::Words::DocumentBase> doc));
2629 
2631 
2632  MEMBER_FUNCTION_MAKE_OBJECT_DECLARATION(Shape, CODEPORTING_ARGS(System::SharedPtr<Aspose::Words::DocumentBase> doc, Aspose::Words::Drawing::ShapeMarkupLanguage markupLanguage));
2633  ASPOSE_WORDS_SHARED_API Aspose::Words::VisitorAction AcceptStart(System::SharedPtr<Aspose::Words::DocumentVisitor> visitor) override;
2634  ASPOSE_WORDS_SHARED_API Aspose::Words::VisitorAction AcceptEnd(System::SharedPtr<Aspose::Words::DocumentVisitor> visitor) override;
2635  ASPOSE_WORDS_SHARED_API System::SharedPtr<Aspose::Words::Node> Clone(bool isCloneChildren, System::SharedPtr<Aspose::Words::INodeCloningListener> cloningListener) override;
2636  ASPOSE_WORDS_SHARED_API bool CanInsert(System::SharedPtr<Aspose::Words::Node> newChild) override;
2639  static bool IsVisibleAsBackground(System::SharedPtr<Aspose::Words::Drawing::Shape> shape);
2640  void FixZeroSize(bool isFromDefault);
2641  void ReplaceVmlImageDataWithFill();
2642  int32_t GetAdjust(int32_t index);
2643 
2644  virtual ASPOSE_WORDS_SHARED_API ~Shape();
2645 
2646 private:
2647 
2649 
2657 
2658  static bool CanInsertInWpCanvasAndWpGroupShape(Aspose::Words::Drawing::Core::Dml::DmlNodeType dmlNodeType);
2659  static bool CanInsertInLockedCanvasAndGroupShape(Aspose::Words::Drawing::Core::Dml::DmlNodeType dmlNodeType);
2660  static bool CanInsertInCompositeShapeExcludeGrFrame(Aspose::Words::Drawing::Core::Dml::DmlNodeType dmlNodeType);
2661  static bool CanInsertInChart(Aspose::Words::Drawing::Core::Dml::DmlNodeType dmlNodeType);
2663  bool HasVerticalTextFlow();
2664  ThisType* CppMemberwiseClone() const override { return new ThisType(*this); }
2665 
2666 };
2667 
2668 }
2669 }
2670 }