OLD | NEW |
| (Empty) |
1 // Copyright 2014 PDFium Authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | |
6 | |
7 #ifndef FPDFSDK_INCLUDE_PDFWINDOW_PWL_ICON_H_ | |
8 #define FPDFSDK_INCLUDE_PDFWINDOW_PWL_ICON_H_ | |
9 | |
10 #include "core/fxcrt/include/fx_string.h" | |
11 #include "fpdfsdk/include/pdfwindow/PWL_Wnd.h" | |
12 | |
13 class CPWL_Image : public CPWL_Wnd { | |
14 public: | |
15 CPWL_Image(); | |
16 ~CPWL_Image() override; | |
17 | |
18 virtual CFX_ByteString GetImageAppStream(); | |
19 | |
20 virtual void GetScale(FX_FLOAT& fHScale, FX_FLOAT& fVScale); | |
21 virtual void GetImageOffset(FX_FLOAT& x, FX_FLOAT& y); | |
22 virtual CPDF_Stream* GetPDFStream(); | |
23 | |
24 public: | |
25 void SetPDFStream(CPDF_Stream* pStream); | |
26 void GetImageSize(FX_FLOAT& fWidth, FX_FLOAT& fHeight); | |
27 CFX_Matrix GetImageMatrix(); | |
28 CFX_ByteString GetImageAlias(); | |
29 void SetImageAlias(const FX_CHAR* sImageAlias); | |
30 | |
31 protected: | |
32 CPDF_Stream* m_pPDFStream; | |
33 CFX_ByteString m_sImageAlias; | |
34 }; | |
35 | |
36 class CPWL_Icon : public CPWL_Image { | |
37 public: | |
38 CPWL_Icon(); | |
39 ~CPWL_Icon() override; | |
40 | |
41 virtual CPDF_IconFit* GetIconFit() { return m_pIconFit; } | |
42 | |
43 // CPWL_Image | |
44 void GetScale(FX_FLOAT& fHScale, FX_FLOAT& fVScale) override; | |
45 void GetImageOffset(FX_FLOAT& x, FX_FLOAT& y) override; | |
46 | |
47 int32_t GetScaleMethod(); | |
48 FX_BOOL IsProportionalScale(); | |
49 void GetIconPosition(FX_FLOAT& fLeft, FX_FLOAT& fBottom); | |
50 FX_BOOL GetFittingBounds(); | |
51 | |
52 void SetIconFit(CPDF_IconFit* pIconFit) { m_pIconFit = pIconFit; } | |
53 | |
54 private: | |
55 CPDF_IconFit* m_pIconFit; | |
56 }; | |
57 | |
58 #endif // FPDFSDK_INCLUDE_PDFWINDOW_PWL_ICON_H_ | |
OLD | NEW |