search/mag_sel search/close
BorderCollection.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/shared_ptr.h>
12 #include <system/collections/ienumerator.h>
13 #include <system/collections/ienumerable.h>
14 #include <cstdint>
15 
16 #include <Aspose.Words.Cpp/LineStyle.h>
17 #include <Aspose.Words.Cpp/aspose_words_api_defs.h>
18 
19 namespace Aspose { namespace Words { class Border; } }
20 namespace Aspose { namespace Words { namespace Layout { class BorderAttrSourceAdapter; } } }
21 namespace Aspose { namespace Words { namespace Layout { namespace PreAps { class LayoutPageBorder; } } } }
22 namespace Aspose { namespace Words { class TableStyle; } }
23 namespace Aspose { namespace Words { class ConditionalStyle; } }
24 namespace Aspose { namespace Words { namespace Drawing { class ImageData; } } }
25 namespace Aspose { namespace Words { class PageSetup; } }
26 namespace Aspose { namespace Words { namespace Tables { class CellFormat; } } }
27 namespace Aspose { namespace Words { namespace Tables { class RowFormat; } } }
28 namespace Aspose { namespace Words { class ParagraphFormat; } }
29 namespace Aspose { namespace Words { namespace RW { namespace Html { class CssBorder; } } } }
30 namespace System { namespace Drawing { class Color; } }
31 namespace Aspose { namespace Drawing { class DrColor; } }
32 namespace Aspose { namespace Words { class IBorderAttrSource; } }
33 namespace Aspose { namespace Words { enum class BorderType; } }
34 
35 namespace Aspose {
36 
37 namespace Words {
38 
57 class ASPOSE_WORDS_SHARED_CLASS BorderCollection final : public System::Collections::Generic::IEnumerable<System::SharedPtr<Aspose::Words::Border>>
58 {
59  typedef BorderCollection ThisType;
61 
62  typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
63  ASPOSE_WORDS_SHARED_RTTI_INFO_DECL();
64 
65  friend class Aspose::Words::Layout::BorderAttrSourceAdapter;
66  friend class Aspose::Words::Layout::PreAps::LayoutPageBorder;
67  friend class Aspose::Words::TableStyle;
70  friend class Aspose::Words::PageSetup;
73  friend class Aspose::Words::ParagraphFormat;
74  friend class Aspose::Words::RW::Html::CssBorder;
75 
76 public:
78 
79 private:
80 
81  class BordersEnumerator final : public System::Collections::Generic::IEnumerator<System::SharedPtr<Aspose::Words::Border>>
82  {
83  typedef BordersEnumerator ThisType;
85 
86  typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
87  RTTI_INFO_DECL();
88 
89  public:
90 
91  System::SharedPtr<Aspose::Words::Border> get_Current() const override;
92 
93  BordersEnumerator(System::SharedPtr<Aspose::Words::BorderCollection> borders);
94 
95  void Dispose() override;
96  bool MoveNext() override;
97  void Reset() override;
98 
99  private:
100 
102  int32_t mBorderIndex;
103 
104  };
105 
106 public:
107 
147 
187 
227 
267 
333 
377 
420  ASPOSE_WORDS_SHARED_API int32_t get_Count();
421 
443  ASPOSE_WORDS_SHARED_API double get_LineWidth();
444 
446  ASPOSE_WORDS_SHARED_API void set_LineWidth(double value);
447 
469  ASPOSE_WORDS_SHARED_API Aspose::Words::LineStyle get_LineStyle();
470 
472  ASPOSE_WORDS_SHARED_API void set_LineStyle(Aspose::Words::LineStyle value);
473 
495  ASPOSE_WORDS_SHARED_API System::Drawing::Color get_Color();
496 
498  ASPOSE_WORDS_SHARED_API void set_Color(System::Drawing::Color value);
499 
523  ASPOSE_WORDS_SHARED_API double get_DistanceFromText();
524 
526  ASPOSE_WORDS_SHARED_API void set_DistanceFromText(double value);
527 
549  ASPOSE_WORDS_SHARED_API bool get_Shadow();
550 
552  ASPOSE_WORDS_SHARED_API void set_Shadow(bool value);
553 
596  ASPOSE_WORDS_SHARED_API bool Equals(System::SharedPtr<Aspose::Words::BorderCollection> brColl);
597 
629 
674  ASPOSE_WORDS_SHARED_API System::SharedPtr<Aspose::Words::Border> idx_get(int32_t index);
675 
706  ASPOSE_WORDS_SHARED_API void ClearFormatting();
707 
737 
738 protected:
739 
741  void set_ColorInternal(System::SharedPtr<Aspose::Drawing::DrColor> value);
742  bool get_Frame();
743  void set_Frame(bool value);
744  bool get_IsVisible();
745 
747 
748  MEMBER_FUNCTION_MAKE_OBJECT_DECLARATION(BorderCollection, CODEPORTING_ARGS(System::SharedPtr<Aspose::Words::IBorderAttrSource> parent));
749  bool IsPossible(Aspose::Words::BorderType borderType);
750  void KeepParentAsSharedPtr();
751 
752  virtual ASPOSE_WORDS_SHARED_API ~BorderCollection();
753 
754 private:
755 
757 
758  static bool IsCommonBorder(Aspose::Words::BorderType borderType);
759 
760 };
761 
762 }
763 }