BLSElement.h
1 #pragma once
2 // Copyright (c) 2001-2024 Aspose Pty Ltd. All Rights Reserved.
3 
4 #include <system/object.h>
5 #include <cstdint>
6 
7 #include "Aspose.PDF.Cpp/Tagged/LogicalStructure/StructureElement.h"
8 #include "Aspose.PDF.Cpp/Tagged/LogicalStructure/ITextElement.h"
9 #include "Aspose.PDF.Cpp/aspose_pdf_api_defs.h"
10 
11 namespace Aspose
12 {
13 namespace Pdf
14 {
15 namespace Engine
16 {
17 namespace Data
18 {
19 class IPdfPrimitive;
20 } // namespace Data
21 } // namespace Engine
22 namespace LogicalStructure
23 {
24 class AttributeOwnerStandard;
25 class BLSTextElement;
26 class HeaderElement;
27 class ListElement;
28 class ListLblElement;
29 class ListLBodyElement;
30 class ListLIElement;
31 class MCRElement;
32 class ParagraphElement;
33 class StructureTextState;
34 class StructureTypeStandard;
35 class TableElement;
36 } // namespace LogicalStructure
37 namespace Tagged
38 {
39 class TaggedContent;
40 class TaggedContext;
41 } // namespace Tagged
42 namespace Text
43 {
44 class TextFragment;
45 } // namespace Text
46 } // namespace Pdf
47 } // namespace Aspose
48 namespace System
49 {
50 class String;
51 } // namespace System
52 
53 namespace Aspose {
54 
55 namespace Pdf {
56 
57 namespace LogicalStructure {
58 
59 // Structure Element Category
63 class ASPOSE_PDF_SHARED_CLASS BLSElement : public Aspose::Pdf::LogicalStructure::StructureElement
64 {
65  typedef BLSElement ThisType;
67 
68  typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
69  ASPOSE_PDF_SHARED_RTTI_INFO_DECL();
70 
74 
75 protected:
76 
78 
79 };
80 
85 {
86  typedef BLSTextElement ThisType;
89 
90  typedef ::System::BaseTypesInfo<BaseType, BaseType1> ThisTypeBaseTypesInfo;
91  ASPOSE_PDF_SHARED_RTTI_INFO_DECL();
92 
96 
97 public:
98 
103  ASPOSE_PDF_SHARED_API System::SharedPtr<Aspose::Pdf::LogicalStructure::StructureTextState> get_StructureTextState() override;
104 
109  ASPOSE_PDF_SHARED_API void SetText(System::String text) override;
110 
111 protected:
112 
114 
116 
117  virtual ASPOSE_PDF_SHARED_API ~BLSTextElement();
118 
119 private:
120 
123 
124 };
125 
126 // BLSE's Children
130 class ASPOSE_PDF_SHARED_CLASS ParagraphElement final : public Aspose::Pdf::LogicalStructure::BLSTextElement
131 {
132  typedef ParagraphElement ThisType;
134 
135  typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
136  ASPOSE_PDF_SHARED_RTTI_INFO_DECL();
137 
138  friend class Aspose::Pdf::Tagged::TaggedContent;
139 
140 protected:
141 
143 
144  MEMBER_FUNCTION_MAKE_OBJECT_DECLARATION(ParagraphElement, CODEPORTING_ARGS(System::SharedPtr<Aspose::Pdf::Tagged::TaggedContext> taggedContext, System::SharedPtr<Aspose::Pdf::Engine::Data::IPdfPrimitive> pdfEngineEntity));
145 
146 };
147 
151 class ASPOSE_PDF_SHARED_CLASS HeaderElement final : public Aspose::Pdf::LogicalStructure::BLSTextElement
152 {
153  typedef HeaderElement ThisType;
155 
156  typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
157  ASPOSE_PDF_SHARED_RTTI_INFO_DECL();
158 
159  friend class Aspose::Pdf::Tagged::TaggedContent;
160 
161 protected:
162 
164 
165  MEMBER_FUNCTION_MAKE_OBJECT_DECLARATION(HeaderElement, CODEPORTING_ARGS(System::SharedPtr<Aspose::Pdf::Tagged::TaggedContext> taggedContext, System::SharedPtr<Aspose::Pdf::Engine::Data::IPdfPrimitive> pdfEngineEntity));
166 
168 
169  MEMBER_FUNCTION_MAKE_OBJECT_DECLARATION(HeaderElement, CODEPORTING_ARGS(System::SharedPtr<Aspose::Pdf::Tagged::TaggedContext> taggedContext, int32_t level, System::SharedPtr<Aspose::Pdf::Engine::Data::IPdfPrimitive> pdfEngineEntity));
170 
171 };
172 
176 class ASPOSE_PDF_SHARED_CLASS ListElement final : public Aspose::Pdf::LogicalStructure::BLSElement
177 {
178  typedef ListElement ThisType;
180 
181  typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
182  ASPOSE_PDF_SHARED_RTTI_INFO_DECL();
183 
184  friend class Aspose::Pdf::Tagged::TaggedContent;
185 
186 protected:
187 
189 
190  MEMBER_FUNCTION_MAKE_OBJECT_DECLARATION(ListElement, CODEPORTING_ARGS(System::SharedPtr<Aspose::Pdf::Tagged::TaggedContext> taggedContext, System::SharedPtr<Aspose::Pdf::Engine::Data::IPdfPrimitive> pdfEngineEntity));
191 
192 };
193 
194 // List child Elements DRAFT
199 {
200  typedef ListChildElement ThisType;
202 
203  typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
204  ASPOSE_PDF_SHARED_RTTI_INFO_DECL();
205 
209 
210 protected:
211 
213 
214 };
215 
219 class ASPOSE_PDF_SHARED_CLASS ListLIElement final : public Aspose::Pdf::LogicalStructure::ListChildElement
220 {
221  typedef ListLIElement ThisType;
223 
224  typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
225  ASPOSE_PDF_SHARED_RTTI_INFO_DECL();
226 
227  friend class Aspose::Pdf::Tagged::TaggedContent;
228 
229 protected:
230 
232 
233  MEMBER_FUNCTION_MAKE_OBJECT_DECLARATION(ListLIElement, CODEPORTING_ARGS(System::SharedPtr<Aspose::Pdf::Tagged::TaggedContext> taggedContext, System::SharedPtr<Aspose::Pdf::Engine::Data::IPdfPrimitive> pdfEngineEntity));
234 
235 };
236 
240 class ASPOSE_PDF_SHARED_CLASS ListLblElement final : public Aspose::Pdf::LogicalStructure::ListChildElement
241 {
242  typedef ListLblElement ThisType;
244 
245  typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
246  ASPOSE_PDF_SHARED_RTTI_INFO_DECL();
247 
248  friend class Aspose::Pdf::Tagged::TaggedContent;
249 
250 protected:
251 
253 
254  MEMBER_FUNCTION_MAKE_OBJECT_DECLARATION(ListLblElement, CODEPORTING_ARGS(System::SharedPtr<Aspose::Pdf::Tagged::TaggedContext> taggedContext, System::SharedPtr<Aspose::Pdf::Engine::Data::IPdfPrimitive> pdfEngineEntity));
255 
256 };
257 
261 class ASPOSE_PDF_SHARED_CLASS ListLBodyElement final : public Aspose::Pdf::LogicalStructure::ListChildElement
262 {
263  typedef ListLBodyElement ThisType;
265 
266  typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
267  ASPOSE_PDF_SHARED_RTTI_INFO_DECL();
268 
269  friend class Aspose::Pdf::Tagged::TaggedContent;
270 
271 protected:
272 
274 
275  MEMBER_FUNCTION_MAKE_OBJECT_DECLARATION(ListLBodyElement, CODEPORTING_ARGS(System::SharedPtr<Aspose::Pdf::Tagged::TaggedContext> taggedContext, System::SharedPtr<Aspose::Pdf::Engine::Data::IPdfPrimitive> pdfEngineEntity));
276 
277 };
278 
279 } // namespace LogicalStructure
280 } // namespace Pdf
281 } // namespace Aspose
282 
283 
BLSElement(System::SharedPtr< Aspose::Pdf::Tagged::TaggedContext > taggedContext, System::SharedPtr< StructureTypeStandard > structureType, System::SharedPtr< Aspose::Pdf::Engine::Data::IPdfPrimitive > pdfEngineEntity, System::SharedPtr< AttributeOwnerStandard > attributeOwner=nullptr)
Represents Table structure element in logical structure.
Definition: BLSTableElement.h:69
Represents List structure element in logical structure.
Definition: BLSElement.h:176
String class used across the library. Is a substitute for C# System.String when translating code...
Definition: string.h:121
ListChildElement(System::SharedPtr< Aspose::Pdf::Tagged::TaggedContext > taggedContext, System::SharedPtr< StructureTypeStandard > structureType, System::SharedPtr< Aspose::Pdf::Engine::Data::IPdfPrimitive > pdfEngineEntity)
Represents Paragraph structure element in logical structure.
Definition: BLSElement.h:130
Definition: Artifact.h:67
Represents a base class for structure elements in logical structure.
Definition: StructureElement.h:62
Represents Header structure element in logical structure.
Definition: BLSElement.h:151
Pointer class to wrap types being allocated on heap. Use it to manage memory for classes inheriting O...
Definition: fwd.h:22
Represents a text type.
System::SharedPtr< Aspose::Pdf::Text::TextFragment > get_TextFragment()
Represents marked-content reference object in logical structure.
Definition: MCRElement.h:63
Definition: AFRelationship.h:4
Represents a base class for block-level structure elements in logical structure.
Definition: BLSElement.h:63
Represents Lbl structure element in logical structure of the list.
Definition: BLSElement.h:240
Represents LI structure element in logical structure of the list.
Definition: BLSElement.h:219
Represents a base class for block-level text structure elements in logical structure.
Definition: BLSElement.h:84
Represents LBody structure element in logical structure of the list.
Definition: BLSElement.h:261
Interface for presenting text structure elements.
Definition: ITextElement.h:32
Whole PDF file will be submitted.
Represents a base class for children elements of the List in logical structure.
Definition: BLSElement.h:198