HighlightAnnotation.h
1 #pragma once
2 // Copyright (c) 2001-2024 Aspose Pty Ltd. All Rights Reserved.
3 
4 #include <system/collections/icomparer.h>
5 #include <system/array.h>
6 #include <cstdint>
7 
8 #include "Aspose.PDF.Cpp/InteractiveFeatures/Annotations/TextMarkupAnnotation.h"
9 #include "Aspose.PDF.Cpp/InteractiveFeatures/Annotations/Annotation.h"
10 #include "Aspose.PDF.Cpp/aspose_pdf_api_defs.h"
11 
12 namespace Aspose
13 {
14 namespace Pdf
15 {
16 namespace Annotations
17 {
18 class AnnotationSelector;
19 enum class AnnotationType;
20 } // namespace Annotations
21 class Document;
22 namespace Engine
23 {
24 namespace Data
25 {
26 class IPdfObject;
27 } // namespace Data
28 } // namespace Engine
29 class Operator;
30 class Page;
31 class Point;
32 class Rectangle;
33 namespace Tests
34 {
35 namespace Annotations
36 {
37 class HighlightAnnotationTests;
38 } // namespace Annotations
39 } // namespace Tests
40 class XForm;
41 } // namespace Pdf
42 } // namespace Aspose
43 namespace System
44 {
45 namespace Collections
46 {
47 namespace Generic
48 {
49 template <typename> class List;
50 } // namespace Generic
51 } // namespace Collections
52 namespace Xml
53 {
54 class XmlWriter;
55 } // namespace Xml
56 } // namespace System
57 
58 namespace Aspose {
59 
60 namespace Pdf {
61 
62 namespace Annotations {
63 
67 class ASPOSE_PDF_SHARED_CLASS HighlightAnnotation final : public Aspose::Pdf::Annotations::TextMarkupAnnotation
68 {
71 
72  typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
73  ASPOSE_PDF_SHARED_RTTI_INFO_DECL();
74 
76  friend class Aspose::Pdf::Tests::Annotations::HighlightAnnotationTests;
77 
78 private:
79 
80  class PointComparer : public System::Collections::Generic::IComparer<System::SharedPtr<Aspose::Pdf::Point>>
81  {
82  typedef PointComparer ThisType;
84 
85  typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
86  RTTI_INFO_DECL();
87 
88  public:
89 
90  int32_t Compare(const System::SharedPtr<Point>& x, const System::SharedPtr<Point>& y) const override;
91 
92  };
93 
94 
95 public:
96 
100  ASPOSE_PDF_SHARED_API Aspose::Pdf::Annotations::AnnotationType get_AnnotationType() override;
101 
106  ASPOSE_PDF_SHARED_API void Accept(System::SharedPtr<AnnotationSelector> visitor) override;
107 
114 
115 protected:
116 
117  ASPOSE_PDF_SHARED_API void WriteXfdf(System::SharedPtr<System::Xml::XmlWriter> writer) override;
118 
125 
126  MEMBER_FUNCTION_MAKE_OBJECT_DECLARATION(HighlightAnnotation, CODEPORTING_ARGS(System::SharedPtr<Aspose::Pdf::Engine::Data::IPdfObject> engineAnnot, System::SharedPtr<Document> document));
127  ASPOSE_PDF_SHARED_API bool AppearanceSupported() override;
128  ASPOSE_PDF_SHARED_API System::SharedPtr<XForm> PrepareAppearance(System::String key, System::SharedPtr<Annotation> annotation) override;
130 
131  virtual ASPOSE_PDF_SHARED_API ~HighlightAnnotation();
132 
133 private:
134 
136 
137 };
138 
139 } // namespace Annotations
140 } // namespace Pdf
141 } // namespace Aspose
142 
143 
String class used across the library. Is a substitute for C# System.String when translating code...
Definition: string.h:121
class ASPOSECPP_SHARED_CLASS List
Definition: ienumerable.h:17
Definition: Artifact.h:67
Represents a highlight annotation that highlights a range of text in the document.
Definition: HighlightAnnotation.h:67
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
means saving in XML format
AnnotationType
Enumeration of annotation types.
Definition: AnnotationType.h:18
Definition: AFRelationship.h:4
Defies a method that enables object cloning - creating a copy of an object. Objects of this class sho...
Definition: icloneable.h:15
A printer&#39;s point (1/72 of an inch).
The coordinates are in the page coordinate context.
Interface that compares two objects in greater-equal-less sense. Objects of this class should only be...
Definition: icomparer.h:19
Abstract base class for text markup annotations.
Definition: TextMarkupAnnotation.h:57
Class representing annotation object.
Definition: Annotation.h:303
Represents a abstract base object can be added to the page(doc.Paragraphs.Add()). ...
Definition: BaseParagraph.h:66
Whole PDF file will be submitted.