StructTreeRootElement.h
1 #pragma once
2 // Copyright (c) 2001-2024 Aspose Pty Ltd. All Rights Reserved.
3 
4 #include "Aspose.PDF.Cpp/Tagged/LogicalStructure/Element.h"
5 #include "Aspose.PDF.Cpp/aspose_pdf_api_defs.h"
6 
7 namespace Aspose
8 {
9 namespace Pdf
10 {
11 namespace Engine
12 {
13 namespace CommonData
14 {
15 class NamesTreeNode;
16 class NumsTreeNode;
17 } // namespace CommonData
18 namespace Data
19 {
20 class IPdfArray;
21 class IPdfDictionary;
22 class IPdfNumber;
23 class IPdfObject;
24 class IPdfPrimitive;
25 } // namespace Data
26 } // namespace Engine
27 namespace LogicalStructure
28 {
29 class AnnotationElement;
30 class StructureElement;
31 } // namespace LogicalStructure
32 namespace Tagged
33 {
34 class TaggedContent;
35 class TaggedContext;
36 } // namespace Tagged
37 namespace Tests
38 {
39 class RegressionTests_v23_07;
40 namespace TaggedPdf
41 {
42 class TaggedPdfNoteTests;
43 } // namespace TaggedPdf
44 } // namespace Tests
45 } // namespace Pdf
46 } // namespace Aspose
47 namespace System
48 {
49 namespace Collections
50 {
51 namespace Generic
52 {
53 template <typename> class List;
54 } // namespace Generic
55 } // namespace Collections
56 } // namespace System
57 
58 namespace Aspose {
59 
60 namespace Pdf {
61 
62 namespace LogicalStructure {
63 
67 class ASPOSE_PDF_SHARED_CLASS StructTreeRootElement final : public Aspose::Pdf::LogicalStructure::Element
68 {
71 
72  typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
73  ASPOSE_PDF_SHARED_RTTI_INFO_DECL();
74 
78  friend class Aspose::Pdf::Tagged::TaggedContent;
79  friend class Aspose::Pdf::Tagged::TaggedContext;
80  friend class Aspose::Pdf::Tests::RegressionTests_v23_07;
81  friend class Aspose::Pdf::Tests::TaggedPdf::TaggedPdfNoteTests;
82 
83 protected:
84 
87  int32_t get_ParentTreeNextKey();
88  void set_ParentTreeNextKey(int32_t value);
91 
93 
94  MEMBER_FUNCTION_MAKE_OBJECT_DECLARATION(StructTreeRootElement, CODEPORTING_ARGS(System::SharedPtr<Aspose::Pdf::Tagged::TaggedContext> taggedContext, System::SharedPtr<Aspose::Pdf::Engine::Data::IPdfPrimitive> pdfEngineEntity));
95  ASPOSE_PDF_SHARED_API bool CanBeAppended(System::SharedPtr<Element> element) override;
96  void DoPreSave();
97  void DoSave();
98  void Init();
101  int32_t RegistrationObjectInParentTree(System::SharedPtr<Aspose::Pdf::Engine::Data::IPdfObject> pdfObject);
102 
103  virtual ASPOSE_PDF_SHARED_API ~StructTreeRootElement();
104 
105 private:
106 
111  bool _initialized;
112 
113  int32_t CalcParentTreeNextKey();
115  static void StructAddChildrenToElement(System::SharedPtr<Aspose::Pdf::Tagged::TaggedContext> context, System::SharedPtr<Element> element);
119 
120 };
121 
122 } // namespace LogicalStructure
123 } // namespace Pdf
124 } // namespace Aspose
125 
126 
class ASPOSECPP_SHARED_CLASS List
Definition: ienumerable.h:17
Base class that enables using methods available for System.Object class in C#. All non-trivial classe...
Definition: object.h:64
Definition: Artifact.h:67
Represents StructTreeRoot object in logical structure.
Definition: StructTreeRootElement.h:67
Represents a base class for structure elements in logical structure.
Definition: StructureElement.h:62
Represents a base class for annotation structure elements in logical structure.
Definition: ILSElement.h:164
Definition: signed_info.h:13
Pointer class to wrap types being allocated on heap. Use it to manage memory for classes inheriting O...
Definition: fwd.h:22
Definition: AFRelationship.h:4
Represents a base class for element in logical structure.
Definition: Element.h:92
Whole PDF file will be submitted.