1ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// Copyright 2014 PDFium Authors. All rights reserved.
2ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// Use of this source code is governed by a BSD-style license that can be
3ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// found in the LICENSE file.
4ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
5ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
7ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#ifndef _PWL_SIGNATURE_H_
8ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define _PWL_SIGNATURE_H_
9ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
10ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovclass CPWL_Signature;
11ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovclass CPWL_Label;
12ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovclass CPWL_Signature_Image;
13ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
14ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovclass CPWL_Signature_Image : public CPWL_Image
15ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{
16ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovpublic:
17ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov	CPWL_Signature_Image();
18ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov	virtual ~CPWL_Signature_Image();
19ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
20ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov	void								SetImage(CFX_DIBSource* pImage);
21ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov	CFX_DIBSource*						GetImage();
22ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
23ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovprotected:
24ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov	virtual void						DrawThisAppearance(CFX_RenderDevice* pDevice, CPDF_Matrix* pUser2Device);
25ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov	virtual void						GetThisAppearanceStream(CFX_ByteTextBuf & sAppStream);
26ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
27ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov	virtual void						GetScale(FX_FLOAT & fHScale,FX_FLOAT & fVScale);
28ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
29ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovprivate:
30ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov	CFX_DIBSource*						m_pImage;
31ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov};
32ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
33ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovclass PWL_CLASS CPWL_Signature : public CPWL_Wnd
34ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov{
35ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovpublic:
36ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov	CPWL_Signature();
37ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov	virtual ~CPWL_Signature();
38ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
39ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov	void								SetText(FX_LPCWSTR sText);
40ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov	void								SetDescription(FX_LPCWSTR string);
41ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov	void								SetImage(CFX_DIBSource* pImage);
42ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov	void								SetImageStream(CPDF_Stream * pStream, FX_LPCSTR sImageAlias);
43ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
44ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov	void								SetTextFlag(FX_BOOL bTextExist);
45ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov	void								SetImageFlag(FX_BOOL bImageExist);
46ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov	void								SetFoxitFlag(FX_BOOL bFlagExist);
47ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
48ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovprotected:
49ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov	virtual void						RePosChildWnd();
50ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov	virtual void						CreateChildWnd(const PWL_CREATEPARAM & cp);
51ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
52ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov	virtual void						DrawThisAppearance(CFX_RenderDevice* pDevice, CPDF_Matrix* pUser2Device);
53ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov	virtual void						GetThisAppearanceStream(CFX_ByteTextBuf & sAppStream);
54ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
55ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovprivate:
56ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov	CPWL_Label*							m_pText;
57ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov	CPWL_Label*							m_pDescription;
58ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov	CPWL_Signature_Image*				m_pImage;
59ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
60ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov	FX_BOOL								m_bTextExist;
61ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov	FX_BOOL								m_bImageExist;
62ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov	FX_BOOL								m_bFlagExist;
63ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov};
64ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
65ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#endif // _PWL_SIGNATURE_H_
66ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
67ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
68