InkAnnotation.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/MarkupAnnotation.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 enum class CapStyle;
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 Matrix;
29 class Operator;
30 class Page;
31 class Point;
32 class Rectangle;
33 namespace Tests
34 {
35 namespace Annotations
36 {
37 class InkAnnotationTests;
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 IList;
50 template <typename> class List;
51 } // namespace Generic
52 } // namespace Collections
53 namespace Xml
54 {
55 class XmlReader;
56 class XmlWriter;
57 } // namespace Xml
58 } // namespace System
59 
60 namespace Aspose {
61 
62 namespace Pdf {
63 
64 namespace Annotations {
65 
69 class ASPOSE_PDF_SHARED_CLASS InkAnnotation final : public Aspose::Pdf::Annotations::MarkupAnnotation
70 {
71  typedef InkAnnotation ThisType;
73 
74  typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
75  ASPOSE_PDF_SHARED_RTTI_INFO_DECL();
76 
78  friend class Aspose::Pdf::Tests::Annotations::InkAnnotationTests;
79 
80 public:
81 
85  ASPOSE_PDF_SHARED_API Aspose::Pdf::Annotations::CapStyle get_CapStyle();
89  ASPOSE_PDF_SHARED_API void set_CapStyle(Aspose::Pdf::Annotations::CapStyle value);
101  ASPOSE_PDF_SHARED_API Aspose::Pdf::Annotations::AnnotationType get_AnnotationType() override;
102 
107  ASPOSE_PDF_SHARED_API void Accept(System::SharedPtr<AnnotationSelector> visitor) override;
108 
122 
127  ASPOSE_PDF_SHARED_API void ChangeAfterResize(System::SharedPtr<Matrix> transform) override;
128 
129 protected:
130 
131  ASPOSE_PDF_SHARED_API void WriteXfdf(System::SharedPtr<System::Xml::XmlWriter> writer) override;
132  ASPOSE_PDF_SHARED_API void ReadXfdf(System::SharedPtr<System::Xml::XmlReader> reader) override;
133 
140 
141  MEMBER_FUNCTION_MAKE_OBJECT_DECLARATION(InkAnnotation, CODEPORTING_ARGS(System::SharedPtr<Aspose::Pdf::Engine::Data::IPdfObject> engineAnnot, System::SharedPtr<Document> document));
142  ASPOSE_PDF_SHARED_API void GeneratorUpdateRectangle(System::SharedPtr<Aspose::Pdf::Page> page, System::SharedPtr<Rectangle> rect) override;
143  ASPOSE_PDF_SHARED_API bool AppearanceSupported() override;
145  ASPOSE_PDF_SHARED_API System::SharedPtr<XForm> PrepareAppearance(System::String key, System::SharedPtr<Annotation> annotation) override;
146 
147  virtual ASPOSE_PDF_SHARED_API ~InkAnnotation();
148 
149 private:
150 
151  static const System::String CapStyleEntry;
153 
154  System::SharedPtr<Rectangle> CalculateRect();
155 
156 };
157 
158 } // namespace Annotations
159 } // namespace Pdf
160 } // namespace Aspose
161 
162 
Represents a freehand "scribble" composed of one or more disjoint paths.
Definition: InkAnnotation.h:69
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
Definition: Artifact.h:67
CapStyle
Style of line ending of Ink annotation line.
Definition: CapStyle.h:13
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.
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
Interface of indexed container of elements. Objects of this class should only be allocated using Syst...
Definition: Collection.h:42
Whole PDF file will be submitted.