summaryrefslogtreecommitdiff
path: root/fpdfsdk/include/pdfwindow/PWL_Icon.h
blob: b6331b6e09d03bd60d2b7561ad96eb4a6e435fdb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
// 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_INCLUDE_PDFWINDOW_PWL_ICON_H_
#define FPDFSDK_INCLUDE_PDFWINDOW_PWL_ICON_H_

#include "../../../core/include/fxcrt/fx_string.h"
#include "PWL_Wnd.h"

class PWL_CLASS CPWL_Image : public CPWL_Wnd
{
public:
	CPWL_Image();
	virtual ~CPWL_Image();

	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);
	CPDF_Matrix						GetImageMatrix();
	CFX_ByteString					GetImageAlias();
	void							SetImageAlias(const FX_CHAR* sImageAlias);

protected:
	CPDF_Stream*					m_pPDFStream;
	CFX_ByteString					m_sImageAlias;
};

class PWL_CLASS CPWL_Icon : public CPWL_Image
{
public:
	CPWL_Icon();
	virtual ~CPWL_Icon();

	virtual CPDF_IconFit *			GetIconFit(){return m_pIconFit;};

	virtual void					GetScale(FX_FLOAT & fHScale,FX_FLOAT & fVScale);
	virtual void					GetImageOffset(FX_FLOAT & x,FX_FLOAT & y);

	int32_t						GetScaleMethod();
	bool							IsProportionalScale();
	void							GetIconPosition(FX_FLOAT & fLeft, FX_FLOAT & fBottom);
	bool							GetFittingBounds();

	void							SetIconFit(CPDF_IconFit * pIconFit){m_pIconFit = pIconFit;};

private:
	CPDF_IconFit *					m_pIconFit;
};


#endif  // FPDFSDK_INCLUDE_PDFWINDOW_PWL_ICON_H_