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