FileAttachmentAnnotation.h
1 #pragma once
2 // Copyright (c) 2001-2024 Aspose Pty Ltd. All Rights Reserved.
3 
4 #include <system/shared_ptr.h>
5 
6 #include "Aspose.PDF.Cpp/InteractiveFeatures/Annotations/MarkupAnnotation.h"
7 #include "Aspose.PDF.Cpp/aspose_pdf_api_defs.h"
8 
9 namespace Aspose
10 {
11 namespace Pdf
12 {
13 namespace Annotations
14 {
15 class Annotation;
16 class AnnotationSelector;
17 enum class AnnotationType;
18 enum class FileIcon;
19 } // namespace Annotations
20 class Document;
21 namespace Engine
22 {
23 namespace Data
24 {
25 class IPdfObject;
26 } // namespace Data
27 } // namespace Engine
28 class FileSpecification;
29 class Page;
30 class Rectangle;
31 namespace Tests
32 {
33 namespace Annotations
34 {
35 class FileAttachmentAnnotationTests;
36 } // namespace Annotations
37 } // namespace Tests
38 } // namespace Pdf
39 } // namespace Aspose
40 namespace System
41 {
42 namespace Xml
43 {
44 class XmlReader;
45 class XmlWriter;
46 } // namespace Xml
47 } // namespace System
48 
49 namespace Aspose {
50 
51 namespace Pdf {
52 
53 namespace Annotations {
54 
58 class ASPOSE_PDF_SHARED_CLASS FileAttachmentAnnotation final : public Aspose::Pdf::Annotations::MarkupAnnotation
59 {
62 
63  typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
64  ASPOSE_PDF_SHARED_RTTI_INFO_DECL();
65 
67  friend class Aspose::Pdf::Tests::Annotations::FileAttachmentAnnotationTests;
68 
69 public:
70 
74  ASPOSE_PDF_SHARED_API Aspose::Pdf::Annotations::AnnotationType get_AnnotationType() override;
78  ASPOSE_PDF_SHARED_API System::SharedPtr<FileSpecification> get_File() const;
82  ASPOSE_PDF_SHARED_API void set_File(System::SharedPtr<FileSpecification> value);
86  ASPOSE_PDF_SHARED_API FileIcon get_Icon();
90  ASPOSE_PDF_SHARED_API void set_Icon(FileIcon value);
94  ASPOSE_PDF_SHARED_API double get_Opacity();
98  ASPOSE_PDF_SHARED_API void set_Opacity(double value);
99 
104  ASPOSE_PDF_SHARED_API void Accept(System::SharedPtr<AnnotationSelector> visitor) override;
105 
113 
114 protected:
115 
116  ASPOSE_PDF_SHARED_API void WriteXfdf(System::SharedPtr<System::Xml::XmlWriter> writer) override;
117  ASPOSE_PDF_SHARED_API void ReadXfdf(System::SharedPtr<System::Xml::XmlReader> reader) override;
118 
125 
126  MEMBER_FUNCTION_MAKE_OBJECT_DECLARATION(FileAttachmentAnnotation, CODEPORTING_ARGS(System::SharedPtr<Aspose::Pdf::Engine::Data::IPdfObject> engineAnnot, System::SharedPtr<Document> document));
127 
128  virtual ASPOSE_PDF_SHARED_API ~FileAttachmentAnnotation();
129 
130 private:
131 
132  System::SharedPtr<FileSpecification> fileSpecification;
133 
134 };
135 
136 } // namespace Annotations
137 } // namespace Pdf
138 } // namespace Aspose
139 
140 
Abstract class representing markup annotation.
Definition: MarkupAnnotation.h:82
Definition: Artifact.h:67
FileIcon
An icon to be used in displaying the annotation.
Definition: FileIcon.h:22
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
Class describes file attachment annotation.
Definition: FileAttachmentAnnotation.h:58
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.
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.