ImagePlacementAbsorber.h
1 #pragma once
2 // Copyright (c) 2001-2024 Aspose Pty Ltd. All Rights Reserved.
3 
4 #include <system/object.h>
5 #include <cstdint>
6 
7 #include "Aspose.PDF.Cpp/aspose_pdf_api_defs.h"
8 
9 namespace Aspose
10 {
11 namespace Pdf
12 {
13 enum class BlendMode;
14 class Document;
15 namespace Engine
16 {
17 namespace CommonData
18 {
19 namespace Graphics
20 {
21 namespace Patterns
22 {
23 class TilingPattern;
24 } // namespace Patterns
25 } // namespace Graphics
26 } // namespace CommonData
27 } // namespace Engine
29 class Matrix;
30 class OperatorCollection;
31 namespace Operators
32 {
33 class SetAdvancedColor;
34 } // namespace Operators
35 class Page;
36 class Rectangle;
37 class Resources;
38 class XImage;
39 } // namespace Pdf
40 } // namespace Aspose
41 namespace System
42 {
43 namespace Collections
44 {
45 namespace Generic
46 {
47 template <typename> class Stack;
48 } // namespace Generic
49 } // namespace Collections
50 namespace Drawing
51 {
52 namespace Drawing2D
53 {
54 class Matrix;
55 } // namespace Drawing2D
56 } // namespace Drawing
57 class String;
58 } // namespace System
59 
60 namespace Aspose {
61 
62 namespace Pdf {
63 
77 class ASPOSE_PDF_SHARED_CLASS ImagePlacementAbsorber final : public System::Object
78 {
80  typedef System::Object BaseType;
81 
82  typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
83  ASPOSE_PDF_SHARED_RTTI_INFO_DECL();
84 
85 public:
86 
91  ASPOSE_PDF_SHARED_API bool get_IsReadOnlyMode() const;
96  ASPOSE_PDF_SHARED_API void set_IsReadOnlyMode(bool value);
100  ASPOSE_PDF_SHARED_API System::SharedPtr<ImagePlacementCollection> get_ImagePlacements();
101 
105  ASPOSE_PDF_SHARED_API ImagePlacementAbsorber();
106 
111  ASPOSE_PDF_SHARED_API void Visit(System::SharedPtr<Page> page);
116  ASPOSE_PDF_SHARED_API void Visit(System::SharedPtr<Document> pdf);
117 
118 private:
119 
120  bool isReadOnlyMode;
124 
128  void ComputeImageSizeParameters(System::SharedPtr<Matrix> matrix, System::SharedPtr<XImage> image, int32_t& resVertical, int32_t& resHorizontal, float& rotationAngle, System::SharedPtr<Rectangle>& rectangle);
131  static bool ContainsImage(System::SharedPtr<Resources> resources, System::String imageName);
132  static bool ContainsForm(System::SharedPtr<Resources> resources, System::String formName);
133  static float CalculateImageRotationAngle(float pageAngle, float imageAngle);
134 
135 };
136 
137 } // namespace Pdf
138 } // namespace Aspose
139 
140 
String class used across the library. Is a substitute for C# System.String when translating code...
Definition: string.h:121
Represents an image placements collection
Definition: ImagePlacementCollection.h:38
Base class that enables using methods available for System.Object class in C#. All non-trivial classe...
Definition: object.h:64
Definition: Artifact.h:67
Class represents collection of operators
Definition: OperatorCollection.h:171
Class representing page resources.
Definition: Resources.h:257
Pointer class to wrap types being allocated on heap. Use it to manage memory for classes inheriting O...
Definition: fwd.h:22
Represents an absorber object of image placement objects. Performs search of image usages and provide...
Definition: ImagePlacementAbsorber.h:77
Class representing page of PDF document.
Definition: Page.h:375
Definition: AFRelationship.h:4
Class representing image X-Object.
Definition: XImage.h:173
Stack class forward declaration.
Definition: ImagePlacementAbsorber.h:47
BlendMode
The blend modes enumeration.
Definition: BlendMode.h:16
Class represents transformation matrix.
Definition: Matrix.h:102
Whole PDF file will be submitted.
Class represents rectangle.
Definition: Rectangle.h:109