LineAnnotation.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/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 CaptionPosition;
19 enum class LineEnding;
20 enum class LineIntent;
21 class Measure;
22 } // namespace Annotations
23 class Color;
24 class Document;
25 namespace Engine
26 {
27 namespace Data
28 {
29 class IPdfObject;
30 } // namespace Data
31 } // namespace Engine
32 class Matrix;
33 class Operator;
34 class Page;
35 class Point;
36 class Rectangle;
37 namespace Tests
38 {
39 namespace Annotations
40 {
41 class LineAnnotationTests;
42 } // namespace Annotations
43 } // namespace Tests
44 class XForm;
45 } // namespace Pdf
46 } // namespace Aspose
47 namespace System
48 {
49 namespace Collections
50 {
51 namespace Generic
52 {
53 template <typename, typename> class Dictionary;
54 template <typename> class List;
55 } // namespace Generic
56 } // namespace Collections
57 class String;
58 namespace Xml
59 {
60 class XmlReader;
61 class XmlWriter;
62 } // namespace Xml
63 } // namespace System
64 
65 namespace Aspose {
66 
67 namespace Pdf {
68 
69 namespace Annotations {
70 
74 class ASPOSE_PDF_SHARED_CLASS LineAnnotation final : public Aspose::Pdf::Annotations::MarkupAnnotation
75 {
76  typedef LineAnnotation ThisType;
78 
79  typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
80  ASPOSE_PDF_SHARED_RTTI_INFO_DECL();
81 
83  friend class Aspose::Pdf::Tests::Annotations::LineAnnotationTests;
84 
85 public:
86 
90  ASPOSE_PDF_SHARED_API System::SharedPtr<Point> get_Starting();
94  ASPOSE_PDF_SHARED_API void set_Starting(System::SharedPtr<Point> value);
98  ASPOSE_PDF_SHARED_API LineEnding get_StartingStyle();
102  ASPOSE_PDF_SHARED_API void set_StartingStyle(LineEnding value);
106  ASPOSE_PDF_SHARED_API System::SharedPtr<Point> get_Ending();
110  ASPOSE_PDF_SHARED_API void set_Ending(System::SharedPtr<Point> value);
114  ASPOSE_PDF_SHARED_API LineEnding get_EndingStyle();
118  ASPOSE_PDF_SHARED_API void set_EndingStyle(LineEnding value);
122  ASPOSE_PDF_SHARED_API System::SharedPtr<Aspose::Pdf::Color> get_InteriorColor();
126  ASPOSE_PDF_SHARED_API void set_InteriorColor(System::SharedPtr<Aspose::Pdf::Color> value);
130  ASPOSE_PDF_SHARED_API double get_LeaderLine();
134  ASPOSE_PDF_SHARED_API void set_LeaderLine(double value);
138  ASPOSE_PDF_SHARED_API double get_LeaderLineExtension();
142  ASPOSE_PDF_SHARED_API void set_LeaderLineExtension(double value);
146  ASPOSE_PDF_SHARED_API bool get_ShowCaption();
150  ASPOSE_PDF_SHARED_API void set_ShowCaption(bool value);
154  ASPOSE_PDF_SHARED_API double get_LeaderLineOffset();
158  ASPOSE_PDF_SHARED_API void set_LeaderLineOffset(double value);
162  ASPOSE_PDF_SHARED_API System::SharedPtr<Point> get_CaptionOffset();
166  ASPOSE_PDF_SHARED_API void set_CaptionOffset(System::SharedPtr<Point> value);
170  ASPOSE_PDF_SHARED_API Aspose::Pdf::Annotations::CaptionPosition get_CaptionPosition();
174  ASPOSE_PDF_SHARED_API void set_CaptionPosition(Aspose::Pdf::Annotations::CaptionPosition value);
178  ASPOSE_PDF_SHARED_API System::SharedPtr<Aspose::Pdf::Annotations::Measure> get_Measure();
182  ASPOSE_PDF_SHARED_API void set_Measure(System::SharedPtr<Aspose::Pdf::Annotations::Measure> value);
186  ASPOSE_PDF_SHARED_API LineIntent get_Intent();
190  ASPOSE_PDF_SHARED_API void set_Intent(LineIntent value);
194  ASPOSE_PDF_SHARED_API Aspose::Pdf::Annotations::AnnotationType get_AnnotationType() override;
195 
200  ASPOSE_PDF_SHARED_API void Accept(System::SharedPtr<AnnotationSelector> visitor) override;
201 
217 
222  ASPOSE_PDF_SHARED_API void ChangeAfterResize(System::SharedPtr<Matrix> transform) override;
223 
224 protected:
225 
226  ASPOSE_PDF_SHARED_API void WriteXfdf(System::SharedPtr<System::Xml::XmlWriter> writer) override;
227  ASPOSE_PDF_SHARED_API void ReadXfdf(System::SharedPtr<System::Xml::XmlReader> reader) override;
228  ASPOSE_PDF_SHARED_API void ReadXfdfElements(System::SharedPtr<System::Collections::Generic::Dictionary<System::String, System::String>> table) override;
229 
236 
237  MEMBER_FUNCTION_MAKE_OBJECT_DECLARATION(LineAnnotation, CODEPORTING_ARGS(System::SharedPtr<Aspose::Pdf::Engine::Data::IPdfObject> engineAnnot, System::SharedPtr<Document> document));
238  ASPOSE_PDF_SHARED_API bool AppearanceSupported() override;
239  ASPOSE_PDF_SHARED_API void GeneratorUpdateRectangle(System::SharedPtr<Aspose::Pdf::Page> page, System::SharedPtr<Rectangle> rect) override;
240  ASPOSE_PDF_SHARED_API System::SharedPtr<XForm> PrepareAppearance(System::String key, System::SharedPtr<Annotation> annotation) override;
243 
244  virtual ASPOSE_PDF_SHARED_API ~LineAnnotation();
245 
246 private:
247 
249 
250  double GetArrowExtensionSize();
251 
252 };
253 
254 } // namespace Annotations
255 } // namespace Pdf
256 } // namespace Aspose
257 
258 
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
LineIntent
Enumerates the intents of the line annotation.
Definition: LineIntent.h:22
Class representing line annotation.
Definition: LineAnnotation.h:74
Definition: Artifact.h:67
Definition: signed_info.h:13
LineEnding
Enumerates the line ending styles to be used in drawing the line.
Definition: LineEnding.h:22
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
CaptionPosition
Enumeration of the annotation�s caption positioning.
Definition: CaptionPosition.h:22
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
Whole PDF file will be submitted.