Border.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 #include <mutex>
13 #include <memory>
14 #include <cstdint>
15 
16 #include <Aspose.Words.Cpp/InternableComplexAttr.h>
17 #include <Aspose.Words.Cpp/IComplexAttr.h>
18 #include <Aspose.Words.Cpp/LineStyle.h>
19 #include <Aspose.Words.Cpp/aspose_words_api_defs.h>
20 
21 namespace Aspose { namespace Words { namespace Fields { class FieldIndexFormatApplier; } } }
22 namespace Aspose { namespace Words { namespace Themes { class ThemeColorRemover; } } }
23 namespace Aspose { namespace Words { namespace Layout { class ParagraphPrConverter; } } }
24 namespace Aspose { namespace Words { namespace Themes { class ThemeColorUpdater; } } }
25 namespace Aspose { namespace Words { class FormatRevisionText; } }
26 namespace Aspose { namespace Words { namespace RW { namespace Markdown { namespace Reader { class MarkdownReaderContext; } } } } }
27 namespace Aspose { namespace Words { namespace RW { namespace MarkupLanguage { namespace Writer { class ImageShapeWriter; } } } } }
28 namespace Aspose { namespace Words { namespace Validation { namespace VmlToDml { class VmlOutlineToDmlConverter; } } } }
29 namespace Aspose { namespace Words { namespace RW { namespace Nrx { namespace Writer { class NrxRunPrWriterBase; } } } } }
30 namespace Aspose { namespace Words { namespace RW { namespace Html { namespace Css { class ParagraphFormatter; } } } } }
31 namespace Aspose { namespace Words { namespace ApsBuilder { namespace Dml { class DmlShapeRenderer; } } } }
32 namespace Aspose { namespace Words { namespace Validation { namespace DmlToVml { class DmlShapePrFiller; } } } }
33 namespace Aspose { namespace Words { class HtmlBlock; } }
34 namespace Aspose { namespace Words { namespace RW { namespace Html { namespace Reader { namespace CommonBorder { class BorderInfo; } } } } } }
35 namespace Aspose { namespace Words { namespace RW { namespace Html { namespace Reader { namespace CommonBorder { class CommonBorderContainer; } } } } } }
36 namespace Aspose { namespace Words { namespace RW { namespace Html { namespace Writer { class HtmlImageWriter; } } } } }
37 namespace Aspose { namespace Words { namespace RW { namespace Doc { namespace Reader { class CellPrReader; } } } } }
38 namespace Aspose { namespace Words { namespace RW { namespace Doc { namespace Reader { class PrReader; } } } } }
39 namespace Aspose { namespace Words { namespace RW { namespace Doc { namespace Writer { class CellPrWriter; } } } } }
40 namespace Aspose { namespace Words { namespace RW { namespace Doc { namespace Writer { class PrWriter; } } } } }
41 namespace Aspose { namespace Words { namespace Layout { namespace Core { class ApsUtil; } } } }
42 namespace Aspose { namespace Words { namespace Layout { namespace Core { class LprBorder; } } } }
43 namespace Aspose { namespace Words { namespace Layout { namespace Core { class LprSpan; } } } }
44 namespace Aspose { namespace Words { namespace Layout { class AttributeConverter; } } }
45 namespace Aspose { namespace Words { namespace Layout { namespace PreAps { class LayoutParagraphBlock; } } } }
46 namespace Aspose { namespace Words { class BorderCollection; } }
47 namespace Aspose { namespace Words { namespace TableLayout { class Extensions; } } }
48 namespace Aspose { namespace Words { namespace Tables { class CnfExpanderCellPr; } } }
49 namespace Aspose { namespace Words { class DocumentBuilder; } }
50 namespace Aspose { namespace Words { namespace Validation { class DocumentValidator; } } }
51 namespace Aspose { namespace Words { namespace Validation { class Iso29500ComplianceEnforcer; } } }
52 namespace Aspose { namespace Words { namespace ApsBuilder { namespace Borders { class BorderGrid; } } } }
53 namespace Aspose { namespace Words { namespace ApsBuilder { namespace Borders { class BorderGridPoint; } } } }
54 namespace Aspose { namespace Words { namespace ApsBuilder { namespace Borders { class BorderLineApsBuilder; } } } }
55 namespace Aspose { namespace Words { namespace ApsBuilder { namespace Spans { class LineApsBuilder; } } } }
56 namespace Aspose { namespace Words { namespace ApsBuilder { namespace Shapes { class ImageBorderApsBuilder; } } } }
57 namespace Aspose { namespace Words { namespace ApsBuilder { namespace Shapes { class ShapeApsBuilder; } } } }
58 namespace Aspose { namespace Words { namespace ApsBuilder { namespace Shapes { class ShapeBoundsFinder; } } } }
59 namespace Aspose { namespace Words { namespace ApsBuilder { namespace Shapes { class TextBoxApsBuilder; } } } }
60 namespace Aspose { namespace Words { namespace RW { namespace Html { namespace Css { class CssBorder; } } } } }
61 namespace Aspose { namespace Words { namespace RW { namespace Html { namespace Css { class CssWidthStyleConverter; } } } } }
62 namespace Aspose { namespace Words { namespace RW { namespace Html { namespace Css { class CssBorderStyleConverter; } } } } }
63 namespace Aspose { namespace Words { namespace RW { namespace Html { namespace Writer { class HtmlTableWriter; } } } } }
64 namespace Aspose { namespace Words { namespace RW { namespace Doc { namespace Tables { class CompactedSprmBorderSort; } } } } }
65 namespace Aspose { namespace Words { namespace RW { namespace Nrx { namespace Writer { class NrxParaPrWriter; } } } } }
66 namespace Aspose { namespace Words { namespace Drawing { namespace Core { class ShapePr; } } } }
67 namespace Aspose { namespace Words { class SectPr; } }
68 namespace Aspose { namespace Words { namespace Tables { class CellPr; } } }
69 namespace Aspose { namespace Words { namespace Tables { class TablePr; } } }
70 namespace Aspose { namespace Words { class Font; } }
71 namespace Aspose { namespace Words { class ParaPr; } }
72 namespace Aspose { namespace Words { class RunPr; } }
73 namespace Aspose { namespace Words { namespace RW { namespace Docx { namespace Writer { class DocxDocumentWriterBase; } } } } }
74 namespace Aspose { namespace Words { namespace RW { namespace Nrx { namespace Writer { class NrxXmlBuilder; } } } } }
75 namespace Aspose { namespace Words { namespace RW { namespace Odt { namespace Reader { class OdtBorder; } } } } }
76 namespace Aspose { namespace Words { namespace RW { namespace Odt { namespace Writer { class OdtGraphicPropertiesWriter; } } } } }
77 namespace Aspose { namespace Words { namespace RW { namespace Vml { class VmlShapeReader; } } } }
78 namespace Aspose { namespace Words { namespace RW { namespace Odt { namespace Reader { class OdtPageLayoutPropertiesReader; } } } } }
79 namespace Aspose { namespace Words { namespace Model { namespace Nrx { class NrxXmlReader; } } } }
80 namespace Aspose { namespace Words { namespace RW { namespace Celler { class CellerTable; } } } }
81 namespace Aspose { namespace Words { namespace RW { namespace Nrx { namespace Writer { class DocxBuilder; } } } } }
82 namespace Aspose { namespace Words { namespace RW { namespace Doc { class BorderFiler; } } } }
83 namespace Aspose { namespace Words { namespace RW { namespace Doc { namespace Escher { class EsShapePrWriter; } } } } }
84 namespace Aspose { namespace Words { namespace RW { namespace Doc { namespace Shapes { class Picf; } } } } }
85 namespace Aspose { namespace Words { namespace RW { namespace Html { namespace Writer { class CssBorderWriter; } } } } }
86 namespace Aspose { namespace Words { namespace RW { namespace Html { namespace Reader { class HtmlTableReader; } } } } }
87 namespace Aspose { namespace Words { namespace RW { namespace Html { namespace Writer { class CssPropsWriter; } } } } }
88 namespace Aspose { namespace Words { namespace RW { namespace Odt { namespace Writer { class OdtBorderProperties; } } } } }
89 namespace Aspose { namespace Words { namespace RW { namespace Odt { namespace Writer { class OdtParagraphPropertiesWriter; } } } } }
90 namespace Aspose { namespace Words { namespace RW { namespace Odt { namespace Writer { class OdtPageLayoutProperties; } } } } }
91 namespace Aspose { namespace Words { namespace RW { namespace Odt { namespace Writer { class OdtWriter; } } } } }
92 namespace Aspose { namespace Words { namespace RW { namespace Rtf { namespace Reader { class RtfBorderReader; } } } } }
93 namespace Aspose { namespace Words { namespace RW { namespace Rtf { namespace Reader { class RtfModelBuilder; } } } } }
94 namespace Aspose { namespace Words { namespace RW { namespace Rtf { namespace Reader { class RtfReaderContext; } } } } }
95 namespace Aspose { namespace Words { namespace RW { namespace Rtf { namespace Reader { class RtfStyleCollapser; } } } } }
96 namespace Aspose { namespace Words { namespace RW { namespace Rtf { namespace Writer { class RtfBorderWriter; } } } } }
97 namespace Aspose { namespace Words { namespace RW { namespace Rtf { namespace Writer { class RtfCellPrWriter; } } } } }
98 namespace Aspose { namespace Words { namespace RW { namespace Vml { class VmlUtil; } } } }
99 namespace Aspose { namespace Words { namespace RW { namespace Wml { namespace Writer { class WmlBuilder; } } } } }
100 namespace Aspose { namespace Words { namespace RW { namespace Xaml { namespace Writer { class XamlAttributesWriter; } } } } }
101 namespace System { namespace Drawing { class Color; } }
102 namespace Aspose { namespace Drawing { class DrColor; } }
103 namespace Aspose { namespace Words { class IBorderAttrSource; } }
104 namespace Aspose { namespace Collections { template <typename> class IntToObjDictionary; } }
105 
106 namespace Aspose {
107 
108 namespace Words {
109 
145 class ASPOSE_WORDS_SHARED_CLASS Border : public Aspose::Words::InternableComplexAttr, public Aspose::Words::IComplexAttr
146 {
147  typedef Border ThisType;
149  typedef Aspose::Words::IComplexAttr BaseType1;
150 
151  typedef ::System::BaseTypesInfo<BaseType, BaseType1> ThisTypeBaseTypesInfo;
152  ASPOSE_WORDS_SHARED_RTTI_INFO_DECL();
153 
154 public:
155 
175  ASPOSE_WORDS_SHARED_API Aspose::Words::LineStyle get_LineStyle();
176 
178  ASPOSE_WORDS_SHARED_API void set_LineStyle(Aspose::Words::LineStyle value);
179 
200  ASPOSE_WORDS_SHARED_API double get_LineWidth();
201 
203  ASPOSE_WORDS_SHARED_API void set_LineWidth(double value);
204 
236  ASPOSE_WORDS_SHARED_API bool get_IsVisible();
237 
255  ASPOSE_WORDS_SHARED_API System::Drawing::Color get_Color();
256 
258  ASPOSE_WORDS_SHARED_API void set_Color(System::Drawing::Color value);
259 
283  ASPOSE_WORDS_SHARED_API double get_DistanceFromText();
284 
286  ASPOSE_WORDS_SHARED_API void set_DistanceFromText(double value);
287 
309  ASPOSE_WORDS_SHARED_API bool get_Shadow();
310 
312  ASPOSE_WORDS_SHARED_API void set_Shadow(bool value);
313  ASPOSE_WORDS_SHARED_API bool get_IsInheritedComplexAttr() override;
314 
346  ASPOSE_WORDS_SHARED_API void ClearFormatting();
347 
390  ASPOSE_WORDS_SHARED_API bool Equals(const System::SharedPtr<Aspose::Words::Border>& rhs);
391 
434  ASPOSE_WORDS_SHARED_API bool Equals(System::SharedPtr<System::Object> obj) override;
435 
478  ASPOSE_WORDS_SHARED_API int32_t GetHashCode() const override;
479  ASPOSE_WORDS_SHARED_API System::SharedPtr<Aspose::Words::IComplexAttr> DeepCloneComplexAttr() override;
480 
481 protected:
482 
483  virtual ASPOSE_WORDS_SHARED_API ~Border();
484 
485 private:
486 
488  __TypeStub<4,4,4,4>::type mField12;
489  __TypeStub<4,4,4,4>::type mField13;
490  __TypeStub<4,4,4,4>::type mField14;
492  __TypeStub<4,4,4,4>::type mField16;
493  __TypeStub<1,1,1,1>::type mField17;
494  __TypeStub<1,1,1,1>::type mField18;
495  System::String mField19;
496  System::String mField20;
497  System::String mField21;
498  __TypeStub<1,1,1,1>::type mField22;
499 
500 protected:
501 
502 };
503 
504 }
505 }