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 XForm;
39 class XImage;
40 } // namespace Pdf
41 } // namespace Aspose
42 namespace System
43 {
44 namespace Collections
45 {
46 namespace Generic
47 {
48 template <typename> class List;
49 template <typename> class Stack;
50 } // namespace Generic
51 } // namespace Collections
52 namespace Drawing
53 {
54 namespace Drawing2D
55 {
56 class Matrix;
57 } // namespace Drawing2D
58 } // namespace Drawing
59 class String;
60 } // namespace System
61 
62 namespace Aspose {
63 
64 namespace Pdf {
65 
79 class ASPOSE_PDF_SHARED_CLASS ImagePlacementAbsorber final : public System::Object
80 {
82  typedef System::Object BaseType;
83 
84  typedef ::System::BaseTypesInfo<BaseType> ThisTypeBaseTypesInfo;
85  ASPOSE_PDF_SHARED_RTTI_INFO_DECL();
86 
87 public:
88 
93  ASPOSE_PDF_SHARED_API bool get_IsReadOnlyMode() const;
98  ASPOSE_PDF_SHARED_API void set_IsReadOnlyMode(bool value);
102  ASPOSE_PDF_SHARED_API System::SharedPtr<ImagePlacementCollection> get_ImagePlacements();
103 
107  ASPOSE_PDF_SHARED_API ImagePlacementAbsorber();
108 
113  ASPOSE_PDF_SHARED_API void Visit(System::SharedPtr<Page> page);
118  ASPOSE_PDF_SHARED_API void Visit(System::SharedPtr<Document> pdf);
119 
120 private:
121 
122  bool isReadOnlyMode;
127 
131  void ComputeImageSizeParameters(System::SharedPtr<Matrix> matrix, System::SharedPtr<XImage> image, int32_t& resVertical, int32_t& resHorizontal, float& rotationAngle, System::SharedPtr<Rectangle>& rectangle);
134  static bool ContainsImage(System::SharedPtr<Resources> resources, System::String imageName);
135  static bool ContainsForm(System::SharedPtr<Resources> resources, System::String formName);
136  static float CalculateImageRotationAngle(float pageAngle, float imageAngle);
137 
138 };
139 
140 } // namespace Pdf
141 } // namespace Aspose
142 
143 
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:71
Class represents collection of operators
Definition: OperatorCollection.h:174
Class representing page resources.
Definition: Resources.h:267
Pointer class to wrap types being allocated on heap. Use it to manage memory for classes inheriting O...
Definition: SideBySidePdfComparer.h:24
Represents an absorber object of image placement objects. Performs search of image usages and provide...
Definition: ImagePlacementAbsorber.h:79
Class representing page of PDF document.
Definition: Page.h:384
Definition: AFRelationship.h:4
Class representing image X-Object.
Definition: XImage.h:178
Stack class forward declaration.
Definition: ImagePlacementAbsorber.h:49
BlendMode
The blend modes enumeration.
Definition: BlendMode.h:16
Class represent XForm
Definition: XForm.h:199
Class represents transformation matrix.
Definition: Matrix.h:102
Whole PDF file will be submitted.
Class represents rectangle.
Definition: Rectangle.h:116