PolyAnnotation.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 enum class LineEnding;
17 class Measure;
18 class PolygonAnnotation;
19 enum class PolyIntent;
20 class PolylineAnnotation;
21 } // namespace Annotations
22 class Color;
23 class Document;
24 namespace Engine
25 {
26 namespace Data
27 {
28 class IPdfObject;
29 } // namespace Data
30 } // namespace Engine
31 class Matrix;
32 class Operator;
33 class Page;
34 class Point;
35 class Rectangle;
36 class XForm;
37 } // namespace Pdf
38 } // namespace Aspose
39 namespace System
40 {
41 namespace Collections
42 {
43 namespace Generic
44 {
45 template <typename, typename> class Dictionary;
46 template <typename> class List;
47 } // namespace Generic
48 } // namespace Collections
49 namespace Xml
50 {
51 class XmlReader;
52 class XmlWriter;
53 } // namespace Xml
54 } // namespace System
55 
56 namespace Aspose {
57 
58 namespace Pdf {
59 
60 namespace Annotations {
61 
65 class ASPOSE_PDF_SHARED_CLASS PolyAnnotation : public Aspose::Pdf::Annotations::MarkupAnnotation
66 {
67  typedef PolyAnnotation ThisType;
69 
70  typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
71  ASPOSE_PDF_SHARED_RTTI_INFO_DECL();
72 
75 
76 public:
77 
85  ASPOSE_PDF_SHARED_API void set_Measure(System::SharedPtr<Aspose::Pdf::Annotations::Measure> value);
93  ASPOSE_PDF_SHARED_API void set_Vertices(System::ArrayPtr<System::SharedPtr<Point>> value);
101  ASPOSE_PDF_SHARED_API void set_InteriorColor(System::SharedPtr<Aspose::Pdf::Color> value);
105  ASPOSE_PDF_SHARED_API LineEnding get_StartingStyle();
109  ASPOSE_PDF_SHARED_API void set_StartingStyle(LineEnding value);
113  ASPOSE_PDF_SHARED_API LineEnding get_EndingStyle();
117  ASPOSE_PDF_SHARED_API void set_EndingStyle(LineEnding value);
121  ASPOSE_PDF_SHARED_API PolyIntent get_Intent();
125  ASPOSE_PDF_SHARED_API void set_Intent(PolyIntent value);
126 
131  ASPOSE_PDF_SHARED_API void ChangeAfterResize(System::SharedPtr<Matrix> transform) override;
132 
133 protected:
134 
141  ASPOSE_PDF_SHARED_API PolyAnnotation(System::SharedPtr<Document> document, System::ArrayPtr<System::SharedPtr<Point>> vertices);
149 
154  ASPOSE_PDF_SHARED_API void WriteXfdfAttributes(System::SharedPtr<System::Xml::XmlWriter> writer) override;
159  ASPOSE_PDF_SHARED_API void WriteXfdfElements(System::SharedPtr<System::Xml::XmlWriter> writer) override;
164  ASPOSE_PDF_SHARED_API void ReadXfdfAttributes(System::SharedPtr<System::Xml::XmlReader> reader) override;
170  ASPOSE_PDF_SHARED_API void ReadXfdf(System::SharedPtr<System::Xml::XmlReader> reader) override;
171  ASPOSE_PDF_SHARED_API bool AppearanceSupported() override;
173  ASPOSE_PDF_SHARED_API System::SharedPtr<XForm> PrepareAppearance(System::String key, System::SharedPtr<Annotation> annotation) override;
174 
175  virtual ASPOSE_PDF_SHARED_API ~PolyAnnotation();
176 
177 private:
178 
180 
181 };
182 
183 } // namespace Annotations
184 } // namespace Pdf
185 } // namespace Aspose
186 
187 
Abstract base class for poly- annotations.
Definition: PolyAnnotation.h:65
Abstract class representing markup annotation.
Definition: MarkupAnnotation.h:82
ASPOSE_PDF_SHARED_API System::SharedPtr< XForm > PrepareAppearance(System::String key, System::SharedPtr< Annotation > annotation) override
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
ASPOSE_PDF_SHARED_API void ReadXfdfElements(System::SharedPtr< System::Collections::Generic::Dictionary< System::String, System::String >> table) override
When overridden in a derived class, import annotation elements from XFDF.
ASPOSE_PDF_SHARED_API System::ArrayPtr< System::SharedPtr< Point > > get_Vertices()
Gets an array of points representing the horizontal and vertical coordinates of each vertex...
ASPOSE_PDF_SHARED_API void ReadXfdf(System::SharedPtr< System::Xml::XmlReader > reader) override
ASPOSE_PDF_SHARED_API System::SharedPtr< Aspose::Pdf::Color > get_InteriorColor()
Gets the interior color with which to fill the annotation�s line endings.
Definition: Artifact.h:67
virtual ASPOSE_PDF_SHARED_API ~PolyAnnotation()
ASPOSE_PDF_SHARED_API void set_Intent(PolyIntent value)
Sets the intent of the polygon or polyline annotation.
PolyIntent
Enumerates the intents of the polygon or polyline annotation.
Definition: PolyIntent.h:22
ASPOSE_PDF_SHARED_API void ChangeAfterResize(System::SharedPtr< Matrix > transform) override
Updates the points in Vertices, according to the matrix transform.
Class representing polygon annotation.
Definition: PolygonAnnotation.h:54
Represents polyline annotation that is similar to polygon, except that the first and last vertex are ...
Definition: PolylineAnnotation.h:54
ASPOSE_PDF_SHARED_API void WriteXfdfAttributes(System::SharedPtr< System::Xml::XmlWriter > writer) override
When overridden in a derived class, exports annotation attributes into XFDF.
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
ASPOSE_PDF_SHARED_API PolyIntent get_Intent()
Gets the intent of the polygon or polyline annotation.
Definition: AFRelationship.h:4
ASPOSE_PDF_SHARED_API LineEnding get_EndingStyle()
Gets the style of second line ending.
Defies a method that enables object cloning - creating a copy of an object. Objects of this class sho...
Definition: icloneable.h:15
ASPOSE_PDF_SHARED_API void set_EndingStyle(LineEnding value)
Sets the style of second line ending.
A printer&#39;s point (1/72 of an inch).
ASPOSE_PDF_SHARED_API LineEnding get_StartingStyle()
Gets the style of first line ending.
The coordinates are in the page coordinate context.
ASPOSE_PDF_SHARED_API void set_Measure(System::SharedPtr< Aspose::Pdf::Annotations::Measure > value)
Measure units specifed for this annotation.
ASPOSE_PDF_SHARED_API void set_InteriorColor(System::SharedPtr< Aspose::Pdf::Color > value)
Sets the interior color with which to fill the annotation�s line endings.
ASPOSE_PDF_SHARED_API void set_Vertices(System::ArrayPtr< System::SharedPtr< Point >> value)
Sets an array of points representing the horizontal and vertical coordinates of each vertex...
ASPOSE_PDF_SHARED_API void ReadXfdfAttributes(System::SharedPtr< System::Xml::XmlReader > reader) override
When overridden in a derived class, import annotation attributes from XFDF.
PolyAnnotation(System::SharedPtr< Aspose::Pdf::Engine::Data::IPdfObject > annotation, System::SharedPtr< Document > document)
ASPOSE_PDF_SHARED_API bool AppearanceSupported() override
This method must be overriden to return true in classes where apperance generation is supported...
Represents a abstract base object can be added to the page(doc.Paragraphs.Add()). ...
Definition: BaseParagraph.h:66
ASPOSE_PDF_SHARED_API void WriteXfdfElements(System::SharedPtr< System::Xml::XmlWriter > writer) override
When overridden in a derived class, exports annotation elements into XFDF.
ASPOSE_PDF_SHARED_API System::SharedPtr< System::Collections::Generic::List< System::SharedPtr< Operator > > > CreateAppearanceProgram(System::SharedPtr< Annotation::AppearanceParameters > parameters, System::SharedPtr< Annotation > annotation) override
Create program for displaying this annotation.
ASPOSE_PDF_SHARED_API System::SharedPtr< Aspose::Pdf::Annotations::Measure > get_Measure()
Measure units specifed for this annotation.
Whole PDF file will be submitted.
ASPOSE_PDF_SHARED_API void set_StartingStyle(LineEnding value)
Sets the style of first line ending.