• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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_SIGNATURE_H_
8 #define FPDFSDK_INCLUDE_PDFWINDOW_PWL_SIGNATURE_H_
9 
10 #include "PWL_Icon.h"
11 #include "PWL_Wnd.h"
12 
13 class CFX_DIBSource;
14 class CPWL_Label;
15 
16 class CPWL_Signature_Image : public CPWL_Image
17 {
18 public:
19 	CPWL_Signature_Image();
20 	virtual ~CPWL_Signature_Image();
21 
22 	void								SetImage(CFX_DIBSource* pImage);
23 	CFX_DIBSource*						GetImage();
24 
25 protected:
26 	virtual void						DrawThisAppearance(CFX_RenderDevice* pDevice, CPDF_Matrix* pUser2Device);
27 	virtual void						GetThisAppearanceStream(CFX_ByteTextBuf & sAppStream);
28 
29 	virtual void						GetScale(FX_FLOAT & fHScale,FX_FLOAT & fVScale);
30 
31 private:
32 	CFX_DIBSource*						m_pImage;
33 };
34 
35 class PWL_CLASS CPWL_Signature : public CPWL_Wnd
36 {
37 public:
38 	CPWL_Signature();
39 	virtual ~CPWL_Signature();
40 
41 	void								SetText(FX_LPCWSTR sText);
42 	void								SetDescription(FX_LPCWSTR string);
43 	void								SetImage(CFX_DIBSource* pImage);
44 	void								SetImageStream(CPDF_Stream * pStream, FX_LPCSTR sImageAlias);
45 
46 	void								SetTextFlag(FX_BOOL bTextExist);
47 	void								SetImageFlag(FX_BOOL bImageExist);
48 	void								SetFoxitFlag(FX_BOOL bFlagExist);
49 
50 protected:
51 	virtual void						RePosChildWnd();
52 	virtual void						CreateChildWnd(const PWL_CREATEPARAM & cp);
53 
54 	virtual void						DrawThisAppearance(CFX_RenderDevice* pDevice, CPDF_Matrix* pUser2Device);
55 	virtual void						GetThisAppearanceStream(CFX_ByteTextBuf & sAppStream);
56 
57 private:
58 	CPWL_Label*							m_pText;
59 	CPWL_Label*							m_pDescription;
60 	CPWL_Signature_Image*				m_pImage;
61 
62 	FX_BOOL								m_bTextExist;
63 	FX_BOOL								m_bImageExist;
64 	FX_BOOL								m_bFlagExist;
65 };
66 
67 #endif  // FPDFSDK_INCLUDE_PDFWINDOW_PWL_SIGNATURE_H_
68