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 public: 18 CPWL_Signature_Image(); 19 ~CPWL_Signature_Image() override; 20 21 void SetImage(CFX_DIBSource* pImage); 22 CFX_DIBSource* GetImage(); 23 24 protected: 25 // CPWL_Image 26 void DrawThisAppearance(CFX_RenderDevice* pDevice, 27 CFX_Matrix* pUser2Device) override; 28 void GetThisAppearanceStream(CFX_ByteTextBuf& sAppStream) override; 29 void GetScale(FX_FLOAT& fHScale, FX_FLOAT& fVScale) override; 30 31 private: 32 CFX_DIBSource* m_pImage; 33 }; 34 35 class CPWL_Signature : public CPWL_Wnd { 36 public: 37 CPWL_Signature(); 38 ~CPWL_Signature() override; 39 40 void SetText(const FX_WCHAR* sText); 41 void SetDescription(const FX_WCHAR* string); 42 void SetImage(CFX_DIBSource* pImage); 43 void SetImageStream(CPDF_Stream* pStream, const FX_CHAR* sImageAlias); 44 45 void SetTextFlag(FX_BOOL bTextExist); 46 void SetImageFlag(FX_BOOL bImageExist); 47 void SetFoxitFlag(FX_BOOL bFlagExist); 48 49 protected: 50 // CPWL_Wnd 51 void RePosChildWnd() override; 52 void CreateChildWnd(const PWL_CREATEPARAM& cp) override; 53 void DrawThisAppearance(CFX_RenderDevice* pDevice, 54 CFX_Matrix* pUser2Device) override; 55 void GetThisAppearanceStream(CFX_ByteTextBuf& sAppStream) override; 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