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/include/fxcrt/fx_string.h"
11#include "PWL_Wnd.h"
12
13class PWL_CLASS CPWL_Image : public CPWL_Wnd
14{
15public:
16	CPWL_Image();
17	virtual ~CPWL_Image();
18
19	virtual CFX_ByteString			GetImageAppStream();
20
21	virtual void					GetScale(FX_FLOAT & fHScale,FX_FLOAT & fVScale);
22	virtual void					GetImageOffset(FX_FLOAT & x,FX_FLOAT & y);
23	virtual CPDF_Stream *			GetPDFStream();
24
25public:
26	void							SetPDFStream(CPDF_Stream* pStream);
27	void							GetImageSize(FX_FLOAT & fWidth,FX_FLOAT & fHeight);
28	CPDF_Matrix						GetImageMatrix();
29	CFX_ByteString					GetImageAlias();
30	void							SetImageAlias(FX_LPCSTR sImageAlias);
31
32protected:
33	CPDF_Stream*					m_pPDFStream;
34	CFX_ByteString					m_sImageAlias;
35};
36
37class PWL_CLASS CPWL_Icon : public CPWL_Image
38{
39public:
40	CPWL_Icon();
41	virtual ~CPWL_Icon();
42
43	virtual CPDF_IconFit *			GetIconFit(){return m_pIconFit;};
44
45	virtual void					GetScale(FX_FLOAT & fHScale,FX_FLOAT & fVScale);
46	virtual void					GetImageOffset(FX_FLOAT & x,FX_FLOAT & y);
47
48	FX_INT32						GetScaleMethod();
49	FX_BOOL							IsProportionalScale();
50	void							GetIconPosition(FX_FLOAT & fLeft, FX_FLOAT & fBottom);
51	FX_BOOL							GetFittingBounds();
52
53	void							SetIconFit(CPDF_IconFit * pIconFit){m_pIconFit = pIconFit;};
54
55private:
56	CPDF_IconFit *					m_pIconFit;
57};
58
59
60#endif  // FPDFSDK_INCLUDE_PDFWINDOW_PWL_ICON_H_
61