CircleAnnotation.h
1 #pragma once
2 // Copyright (c) 2001-2024 Aspose Pty Ltd. All Rights Reserved.
3 
4 #include <system/array.h>
5 
6 #include "Aspose.PDF.Cpp/InteractiveFeatures/Annotations/CommonFigureAnnotation.h"
7 #include "Aspose.PDF.Cpp/InteractiveFeatures/Annotations/Annotation.h"
8 #include "Aspose.PDF.Cpp/aspose_pdf_api_defs.h"
9 
10 namespace Aspose
11 {
12 namespace Pdf
13 {
14 namespace Annotations
15 {
16 class AnnotationSelector;
17 enum class AnnotationType;
18 } // namespace Annotations
19 class Document;
20 namespace Engine
21 {
22 namespace Data
23 {
24 class IPdfObject;
25 } // namespace Data
26 } // namespace Engine
27 class Operator;
28 class Page;
29 class Rectangle;
30 namespace Tests
31 {
32 namespace Annotations
33 {
34 class CircleAnnotationTests;
35 } // namespace Annotations
36 } // namespace Tests
37 class XForm;
38 } // namespace Pdf
39 } // namespace Aspose
40 namespace System
41 {
42 namespace Collections
43 {
44 namespace Generic
45 {
46 template <typename> class List;
47 } // namespace Generic
48 } // namespace Collections
49 namespace Xml
50 {
51 class XmlWriter;
52 } // namespace Xml
53 } // namespace System
54 
55 namespace Aspose {
56 
57 namespace Pdf {
58 
59 namespace Annotations {
60 
64 class ASPOSE_PDF_SHARED_CLASS CircleAnnotation final : public Aspose::Pdf::Annotations::CommonFigureAnnotation
65 {
66  typedef CircleAnnotation ThisType;
68 
69  typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
70  ASPOSE_PDF_SHARED_RTTI_INFO_DECL();
71 
73  friend class Aspose::Pdf::Tests::Annotations::CircleAnnotationTests;
74 
75 public:
76 
80  ASPOSE_PDF_SHARED_API Aspose::Pdf::Annotations::AnnotationType get_AnnotationType() override;
81 
86  ASPOSE_PDF_SHARED_API CircleAnnotation(System::SharedPtr<Document> document);
87 
92  ASPOSE_PDF_SHARED_API void Accept(System::SharedPtr<AnnotationSelector> visitor) override;
93 
100 
101 protected:
102 
103  ASPOSE_PDF_SHARED_API void WriteXfdf(System::SharedPtr<System::Xml::XmlWriter> writer) override;
104 
111 
112  MEMBER_FUNCTION_MAKE_OBJECT_DECLARATION(CircleAnnotation, CODEPORTING_ARGS(System::SharedPtr<Aspose::Pdf::Engine::Data::IPdfObject> engineAnnot, System::SharedPtr<Document> document));
113  ASPOSE_PDF_SHARED_API bool AppearanceSupported() override;
114  ASPOSE_PDF_SHARED_API System::SharedPtr<XForm> PrepareAppearance(System::String key, System::SharedPtr<Annotation> annotation) override;
116 
117  virtual ASPOSE_PDF_SHARED_API ~CircleAnnotation();
118 
119 private:
120 
121  System::ArrayPtr<double> get_BoundFrame();
122 
123 };
124 
125 } // namespace Annotations
126 } // namespace Pdf
127 } // namespace Aspose
128 
129 
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
Class representing Circle annotation.
Definition: CircleAnnotation.h:64
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
The coordinates are in the page coordinate context.
Abstract class representing common figure annotation.
Definition: CommonFigureAnnotation.h:47
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.