CornerMarkAnnotation.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/PrinterMarkAnnotation.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 BleedMarkAnnotation;
17 enum class PrinterMarkCornerPosition;
18 class TrimMarkAnnotation;
19 } // namespace Annotations
20 class Operator;
21 class Page;
22 class Point;
23 class Rectangle;
24 } // namespace Pdf
25 } // namespace Aspose
26 namespace System
27 {
28 namespace Collections
29 {
30 namespace Generic
31 {
32 template <typename> class List;
33 } // namespace Generic
34 } // namespace Collections
35 } // namespace System
36 
37 namespace Aspose {
38 
39 namespace Pdf {
40 
41 namespace Annotations {
42 
47 {
50 
51  typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
52  ASPOSE_PDF_SHARED_RTTI_INFO_DECL();
53 
56 
57 public:
58 
62  ASPOSE_PDF_SHARED_API PrinterMarkCornerPosition get_Position() const;
66  ASPOSE_PDF_SHARED_API void set_Position(PrinterMarkCornerPosition value);
67 
68 protected:
69 
70  virtual ASPOSE_PDF_SHARED_API double get_MarkLineLength() = 0;
71  virtual ASPOSE_PDF_SHARED_API double get_MarkOffset() = 0;
72  virtual ASPOSE_PDF_SHARED_API double get_DefaultMarkSize() = 0;
73  virtual ASPOSE_PDF_SHARED_API System::SharedPtr<Rectangle> get_DesignatedPageBox() = 0;
74 
86 
87  ASPOSE_PDF_SHARED_API void UpdateAppearances() override;
91  ASPOSE_PDF_SHARED_API void MoveOutsideOfPageBox() override;
100 
101 private:
102 
103  PrinterMarkCornerPosition _position;
104  static const double LineWidth;
105 
106  static System::SharedPtr<Rectangle> MoveToCorner(System::SharedPtr<Rectangle> pageBox, System::SharedPtr<Rectangle> mediaBox, PrinterMarkCornerPosition corner, double markSize);
107  System::ArrayPtr<System::SharedPtr<Point>> GenerateMarkPoints(bool isVertical);
108 
109 };
110 
111 } // namespace Annotations
112 } // namespace Pdf
113 } // namespace Aspose
114 
115 
PrinterMarkCornerPosition
Represents a position of a mark in a corner of a page.
Definition: PrinterMarkCornerPosition.h:13
class ASPOSECPP_SHARED_CLASS List
Definition: ienumerable.h:17
Abstract class representing printer mark annotation.
Definition: PrinterMarkAnnotation.h:36
Represents a Trim Mark annotation.
Definition: TrimMarkAnnotation.h:32
Definition: Artifact.h:67
ASPOSE_PDF_SHARED_API double get_DefaultMarkSize() override
ASPOSE_PDF_SHARED_API CornerPrinterMarkAnnotation(System::SharedPtr< Aspose::Pdf::Page > page, PrinterMarkCornerPosition position, double markSize, System::SharedPtr< Rectangle > pageBox)
Initializes a new CornerPrinterMarkAnnotation in the given corner position on the given page...
ASPOSE_PDF_SHARED_API void set_Position(PrinterMarkCornerPosition value)
Get or sets the position of the mark on the page.
Represents a Bleed Mark annotation.
Definition: BleedMarkAnnotation.h:35
Represents annotation types that are placed in the corners of the printed page.
Definition: CornerMarkAnnotation.h:46
ASPOSE_PDF_SHARED_API void UpdateAppearances() override
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 double get_MarkOffset() override
Pointer class to wrap types being allocated on heap. Use it to manage memory for classes inheriting O...
Definition: fwd.h:22
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
ASPOSE_PDF_SHARED_API double get_MarkLineLength() override
A printer&#39;s point (1/72 of an inch).
The coordinates are in the page coordinate context.
ASPOSE_PDF_SHARED_API System::SharedPtr< Rectangle > get_DesignatedPageBox() override
ASPOSE_PDF_SHARED_API PrinterMarkCornerPosition get_Position() const
Get or sets the position of the mark on the page.
Represents a abstract base object can be added to the page(doc.Paragraphs.Add()). ...
Definition: BaseParagraph.h:66
Whole PDF file will be submitted.
ASPOSE_PDF_SHARED_API void MoveOutsideOfPageBox() override
Setting Rect values such that the annotation is outside the TrimBox.