StampAnnotation.h
1 #pragma once
2 // Copyright (c) 2001-2024 Aspose Pty Ltd. All Rights Reserved.
3 
4 // C# preprocessor directive: #if ASPOSE_PDF_DRAWING
5 
6 // C# INACTIVE CODE:
7 // using ImageFormat = Aspose.Pdf.Drawing.ImageFormat;
8 
9 // C# preprocessor directive: #else
10 
11 
12 // C# preprocessor directive: #endif
13 
14 
15 #include <system/shared_ptr.h>
16 
17 #include "Aspose.PDF.Cpp/InteractiveFeatures/Annotations/MarkupAnnotation.h"
18 #include "Aspose.PDF.Cpp/InteractiveFeatures/Annotations/Annotation.h"
19 #include "Aspose.PDF.Cpp/aspose_pdf_api_defs.h"
20 
21 namespace Aspose
22 {
23 namespace Pdf
24 {
25 namespace Annotations
26 {
27 class AnnotationSelector;
28 enum class AnnotationType;
29 enum class StampIcon;
30 } // namespace Annotations
31 class Document;
32 namespace Engine
33 {
34 namespace Data
35 {
36 class IPdfObject;
37 } // namespace Data
38 } // namespace Engine
39 class Operator;
40 class Page;
41 class Rectangle;
42 namespace Tests
43 {
44 namespace Annotations
45 {
46 class StampAnnotationTests;
47 } // namespace Annotations
48 } // namespace Tests
49 class XForm;
50 class XImage;
51 } // namespace Pdf
52 } // namespace Aspose
53 namespace System
54 {
55 namespace Collections
56 {
57 namespace Generic
58 {
59 template <typename> class List;
60 } // namespace Generic
61 } // namespace Collections
62 namespace IO
63 {
64 class Stream;
65 } // namespace IO
66 class String;
67 namespace Xml
68 {
69 class XmlReader;
70 class XmlWriter;
71 } // namespace Xml
72 } // namespace System
73 
74 namespace Aspose {
75 
76 namespace Pdf {
77 
78 namespace Annotations {
79 
86 class ASPOSE_PDF_SHARED_CLASS StampAnnotation final : public Aspose::Pdf::Annotations::MarkupAnnotation
87 {
88  typedef StampAnnotation ThisType;
90 
91  typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
92  ASPOSE_PDF_SHARED_RTTI_INFO_DECL();
93 
95  friend class Aspose::Pdf::Tests::Annotations::StampAnnotationTests;
96 
97 public:
98 
102  ASPOSE_PDF_SHARED_API StampIcon get_Icon();
106  ASPOSE_PDF_SHARED_API void set_Icon(StampIcon value);
110  ASPOSE_PDF_SHARED_API Aspose::Pdf::Annotations::AnnotationType get_AnnotationType() override;
114  ASPOSE_PDF_SHARED_API System::SharedPtr<System::IO::Stream> get_Image();
118  ASPOSE_PDF_SHARED_API void set_Image(System::SharedPtr<System::IO::Stream> value);
119 
124  ASPOSE_PDF_SHARED_API void Accept(System::SharedPtr<AnnotationSelector> visitor) override;
125 
130  ASPOSE_PDF_SHARED_API StampAnnotation(System::SharedPtr<Document> document);
137 
138 protected:
139 
140  ASPOSE_PDF_SHARED_API void WriteXfdf(System::SharedPtr<System::Xml::XmlWriter> writer) override;
141  ASPOSE_PDF_SHARED_API void ReadXfdf(System::SharedPtr<System::Xml::XmlReader> reader) override;
142 
149 
150  MEMBER_FUNCTION_MAKE_OBJECT_DECLARATION(StampAnnotation, CODEPORTING_ARGS(System::SharedPtr<Aspose::Pdf::Engine::Data::IPdfObject> engineAnnot, System::SharedPtr<Document> document));
151  ASPOSE_PDF_SHARED_API bool AppearanceSupported() override;
153  ASPOSE_PDF_SHARED_API System::SharedPtr<XForm> PrepareAppearance(System::String key, System::SharedPtr<Annotation> annotation) override;
154 
155  virtual ASPOSE_PDF_SHARED_API ~StampAnnotation();
156 
157 private:
158 
161 
162  System::SharedPtr<XImage> GetXImage();
164 
165 };
166 
167 } // namespace Annotations
168 } // namespace Pdf
169 } // namespace Aspose
170 
171 
Abstract class representing markup annotation.
Definition: MarkupAnnotation.h:82
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
Represents rubber stamp annotation. This type of annotation displays text or graphics intended to loo...
Definition: StampAnnotation.h:86
Definition: Artifact.h:67
Definition: signed_info.h:13
The type that supports reliable, two-way, connection-based byte streams without duplication of data a...
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
StampIcon
Enumerates the icons to be used in displaying the annotation.
Definition: StampIcon.h:22
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.