diff options
Diffstat (limited to 'fpdfsdk/pdfwindow/PWL_Signature.h')
-rw-r--r-- | fpdfsdk/pdfwindow/PWL_Signature.h | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/fpdfsdk/pdfwindow/PWL_Signature.h b/fpdfsdk/pdfwindow/PWL_Signature.h new file mode 100644 index 0000000000..47d0bb0ae3 --- /dev/null +++ b/fpdfsdk/pdfwindow/PWL_Signature.h @@ -0,0 +1,67 @@ +// 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_PDFWINDOW_PWL_SIGNATURE_H_ +#define FPDFSDK_PDFWINDOW_PWL_SIGNATURE_H_ + +#include "fpdfsdk/pdfwindow/PWL_Icon.h" +#include "fpdfsdk/pdfwindow/PWL_Wnd.h" + +class CFX_DIBSource; +class CPWL_Label; + +class CPWL_Signature_Image : public CPWL_Image { + public: + CPWL_Signature_Image(); + ~CPWL_Signature_Image() override; + + void SetImage(CFX_DIBSource* pImage); + CFX_DIBSource* GetImage(); + + protected: + // CPWL_Image + void DrawThisAppearance(CFX_RenderDevice* pDevice, + CFX_Matrix* pUser2Device) override; + void GetThisAppearanceStream(CFX_ByteTextBuf& sAppStream) override; + void GetScale(FX_FLOAT& fHScale, FX_FLOAT& fVScale) override; + + private: + CFX_DIBSource* m_pImage; +}; + +class CPWL_Signature : public CPWL_Wnd { + public: + CPWL_Signature(); + ~CPWL_Signature() override; + + void SetText(const FX_WCHAR* sText); + void SetDescription(const FX_WCHAR* str); + void SetImage(CFX_DIBSource* pImage); + void SetImageStream(CPDF_Stream* pStream, const FX_CHAR* sImageAlias); + + void SetTextFlag(FX_BOOL bTextExist); + void SetImageFlag(FX_BOOL bImageExist); + void SetFoxitFlag(FX_BOOL bFlagExist); + + protected: + // CPWL_Wnd + void RePosChildWnd() override; + void CreateChildWnd(const PWL_CREATEPARAM& cp) override; + void DrawThisAppearance(CFX_RenderDevice* pDevice, + CFX_Matrix* pUser2Device) override; + void GetThisAppearanceStream(CFX_ByteTextBuf& sAppStream) override; + + private: + CPWL_Label* m_pText; + CPWL_Label* m_pDescription; + CPWL_Signature_Image* m_pImage; + + FX_BOOL m_bTextExist; + FX_BOOL m_bImageExist; + FX_BOOL m_bFlagExist; +}; + +#endif // FPDFSDK_PDFWINDOW_PWL_SIGNATURE_H_ |