ExplicitDestination.h
1 #pragma once
2 // Copyright (c) 2001-2024 Aspose Pty Ltd. All Rights Reserved.
3 
4 #include <system/array.h>
5 #include <cstdint>
6 
7 #include "Aspose.PDF.Cpp/InteractiveFeatures/IAppointment.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 CustomExplicitDestination;
17 class DestinationFactory;
18 enum class ExplicitDestinationType;
19 class FitBExplicitDestination;
20 class FitBHExplicitDestination;
21 class FitBVExplicitDestination;
22 class FitExplicitDestination;
23 class FitHExplicitDestination;
24 class FitRExplicitDestination;
25 class FitVExplicitDestination;
26 class GoToAction;
27 class GoToRemoteAction;
28 class LinkAnnotation;
29 class XYZExplicitDestination;
30 } // namespace Annotations
31 class DestinationCollection;
32 class Document;
33 namespace Engine
34 {
35 namespace Data
36 {
37 class IPdfArray;
38 } // namespace Data
39 } // namespace Engine
40 namespace Facades
41 {
42 class Bookmark;
43 } // namespace Facades
44 class Page;
45 } // namespace Pdf
46 } // namespace Aspose
47 namespace System
48 {
49 namespace Globalization
50 {
51 class CultureInfo;
52 } // namespace Globalization
53 } // namespace System
54 
55 namespace Aspose {
56 
57 namespace Pdf {
58 
59 namespace Annotations {
60 
64 class ASPOSE_PDF_SHARED_CLASS ExplicitDestination : public Aspose::Pdf::Annotations::IAppointment
65 {
68 
69  typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
70  ASPOSE_PDF_SHARED_RTTI_INFO_DECL();
71 
86  friend class Aspose::Pdf::Annotations::DestinationFactory;
87 
88 public:
89 
93  ASPOSE_PDF_SHARED_API System::SharedPtr<Aspose::Pdf::Page> get_Page() const;
97  ASPOSE_PDF_SHARED_API int32_t get_PageNumber() const;
98 
106  static ASPOSE_PDF_SHARED_API System::SharedPtr<ExplicitDestination> CreateDestination(System::SharedPtr<Aspose::Pdf::Page> page, ExplicitDestinationType type, const System::ArrayPtr<double>& values);
116  static ASPOSE_PDF_SHARED_API System::SharedPtr<ExplicitDestination> CreateDestination(System::SharedPtr<Document> doc, int32_t pageNumber, ExplicitDestinationType type, const System::ArrayPtr<double>& values);
124  static ASPOSE_PDF_SHARED_API System::SharedPtr<ExplicitDestination> CreateDestination(int32_t pageNumber, ExplicitDestinationType type, const System::ArrayPtr<double>& values);
129  ASPOSE_PDF_SHARED_API System::String ToString() const override = 0;
130 
131 protected:
132 
134 
136 
142  ASPOSE_PDF_SHARED_API double GetNumber(int32_t index) const;
149 
163  ASPOSE_PDF_SHARED_API ExplicitDestination(int32_t pageNumber, ExplicitDestinationType type, const System::ArrayPtr<double>& values);
165 
166 private:
167 
169  int32_t _pageNumber;
171 
173  static System::SharedPtr<Aspose::Pdf::Engine::Data::IPdfArray> CreateEngineDestination(int32_t pageNumber, ExplicitDestinationType type, const System::ArrayPtr<double>& values);
174 
175 };
176 
177 } // namespace Annotations
178 } // namespace Pdf
179 } // namespace Aspose
180 
181 
String class used across the library. Is a substitute for C# System.String when translating code...
Definition: string.h:121
Represents a go-to action that changes the view to a specified destination (page, location...
Definition: GoToAction.h:42
Represents explicit destination that displays the page with the horizontal coordinate left positioned...
Definition: FitVExplicitDestination.h:35
Represents a remote go-to action that is similar to an ordinary go-to action but jumps to a destinati...
Definition: GoToRemoteAction.h:42
Represents explicit destination that displays the page with the vertical coordinate top positioned at...
Definition: FitHExplicitDestination.h:35
Represents explicit destination that displays the page with its contents magnified just enough to fit...
Definition: FitBExplicitDestination.h:35
ExplicitDestinationType
Enumerates the types of explicit destinations.
Definition: ExplicitDestinationType.h:22
Definition: Artifact.h:67
Represents explicit destination that displays the page with the coordinates (left, top) positioned at the upper-left corner of the window and the contents of the page magnified by the factor zoom. A null value for any of the parameters left, top, or zoom specifies that the current value of that parameter is to be retained unchanged. A zoom value of 0 has the same meaning as a null value.
Definition: XYZExplicitDestination.h:38
Represents general interface for actions and destinations.
Definition: IAppointment.h:17
Represents the base class for explicit destinations in PDF document.
Definition: ExplicitDestination.h:64
Represents explicit destination that displays the page with the horizontal coordinate left positioned...
Definition: FitBVExplicitDestination.h:35
Represents explicit destination that displays the page with its contents magnified just enough to fit...
Definition: FitRExplicitDestination.h:35
System::SharedPtr< System::Globalization::CultureInfo > Culture
Definition: ExplicitDestination.h:133
Represents a bookmark.
Definition: Bookmark.h:39
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
Represents custom explicit destination.
Definition: CustomExplicitDestination.h:39
The coordinates are in the page coordinate context.
Represents explicit destination that displays the page with its contents magnified just enough to fit...
Definition: FitExplicitDestination.h:35
Class represents the collection of all destinations (a name tree mapping name strings to destinations...
Definition: DestinationCollection.h:47
Represents explicit destination that displays the page with the vertical coordinate top positioned at...
Definition: FitBHExplicitDestination.h:35
Whole PDF file will be submitted.