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 _FWL_PUSHBUTTONTP_H
8 #define _FWL_PUSHBUTTONTP_H
9 class CFWL_WidgetTP;
10 class CFWL_PushButtonTP;
11 class CFWL_PushButtonTP : public CFWL_WidgetTP {
12  public:
13   CFWL_PushButtonTP();
14   virtual ~CFWL_PushButtonTP();
15   virtual FX_BOOL IsValidWidget(IFWL_Widget* pWidget);
16   virtual FX_DWORD SetThemeID(IFWL_Widget* pWidget,
17                               FX_DWORD dwThemeID,
18                               FX_BOOL bChildren = TRUE);
19   virtual FX_BOOL DrawBackground(CFWL_ThemeBackground* pParams);
20   virtual void* GetCapacity(CFWL_ThemePart* pThemePart, FX_DWORD dwCapacity);
21   virtual FWL_ERR Initialize();
22   virtual FWL_ERR Finalize();
23 
24  protected:
25   void SetThemeData(FX_DWORD dwID);
26   void SetTopLineColor(FX_DWORD* pData);
27   void SetLeftLineColor(FX_DWORD* pData);
28   void SetRightLineColor(FX_DWORD* pData);
29   void SetBottomLineColor(FX_DWORD* pData);
30   void SetBackgroudColor(FX_DWORD* pData);
31   void SetCaptionColor(FX_DWORD* pData);
32   void SetCornerColor(FX_DWORD* pData);
33   int32_t GetColorID(FX_DWORD dwStates);
34 
35   struct PBThemeData {
36     FX_ARGB clrBorder[5];
37     FX_ARGB clrStart[5];
38     FX_ARGB clrEnd[5];
39     FX_ARGB clrFill[5];
40   } * m_pThemeData;
41 };
42 #endif
43