summaryrefslogtreecommitdiff
path: root/fpdfsdk/pdfwindow/PWL_Icon.h
diff options
context:
space:
mode:
Diffstat (limited to 'fpdfsdk/pdfwindow/PWL_Icon.h')
-rw-r--r--fpdfsdk/pdfwindow/PWL_Icon.h58
1 files changed, 58 insertions, 0 deletions
diff --git a/fpdfsdk/pdfwindow/PWL_Icon.h b/fpdfsdk/pdfwindow/PWL_Icon.h
new file mode 100644
index 0000000000..5abf9c26cc
--- /dev/null
+++ b/fpdfsdk/pdfwindow/PWL_Icon.h
@@ -0,0 +1,58 @@
+// Copyright 2014 PDFium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
+
+#ifndef FPDFSDK_PDFWINDOW_PWL_ICON_H_
+#define FPDFSDK_PDFWINDOW_PWL_ICON_H_
+
+#include "core/fxcrt/include/fx_string.h"
+#include "fpdfsdk/pdfwindow/PWL_Wnd.h"
+
+class CPWL_Image : public CPWL_Wnd {
+ public:
+ CPWL_Image();
+ ~CPWL_Image() override;
+
+ virtual CFX_ByteString GetImageAppStream();
+
+ virtual void GetScale(FX_FLOAT& fHScale, FX_FLOAT& fVScale);
+ virtual void GetImageOffset(FX_FLOAT& x, FX_FLOAT& y);
+ virtual CPDF_Stream* GetPDFStream();
+
+ public:
+ void SetPDFStream(CPDF_Stream* pStream);
+ void GetImageSize(FX_FLOAT& fWidth, FX_FLOAT& fHeight);
+ CFX_Matrix GetImageMatrix();
+ CFX_ByteString GetImageAlias();
+ void SetImageAlias(const FX_CHAR* sImageAlias);
+
+ protected:
+ CPDF_Stream* m_pPDFStream;
+ CFX_ByteString m_sImageAlias;
+};
+
+class CPWL_Icon : public CPWL_Image {
+ public:
+ CPWL_Icon();
+ ~CPWL_Icon() override;
+
+ virtual CPDF_IconFit* GetIconFit() { return m_pIconFit; }
+
+ // CPWL_Image
+ void GetScale(FX_FLOAT& fHScale, FX_FLOAT& fVScale) override;
+ void GetImageOffset(FX_FLOAT& x, FX_FLOAT& y) override;
+
+ int32_t GetScaleMethod();
+ FX_BOOL IsProportionalScale();
+ void GetIconPosition(FX_FLOAT& fLeft, FX_FLOAT& fBottom);
+ FX_BOOL GetFittingBounds();
+
+ void SetIconFit(CPDF_IconFit* pIconFit) { m_pIconFit = pIconFit; }
+
+ private:
+ CPDF_IconFit* m_pIconFit;
+};
+
+#endif // FPDFSDK_PDFWINDOW_PWL_ICON_H_