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_MONTHCALENDARTP_H 8 #define _FWL_MONTHCALENDARTP_H 9 class CFWL_WidgetTP; 10 class CFWL_MonthCalendarTP; 11 class CFWL_MonthCalendarTP : public CFWL_WidgetTP { 12 public: 13 CFWL_MonthCalendarTP(); 14 virtual ~CFWL_MonthCalendarTP(); 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 FX_BOOL DrawText(CFWL_ThemeText* pParams); 21 virtual void* GetCapacity(CFWL_ThemePart* pThemePart, FX_DWORD dwCapacity); 22 virtual FWL_ERR Initialize(); 23 virtual FWL_ERR Finalize(); 24 25 protected: 26 FX_BOOL DrawTotalBK(CFWL_ThemeBackground* pParams, CFX_Matrix* pMatrix); 27 FX_BOOL DrawHeadBk(CFWL_ThemeBackground* pParams, CFX_Matrix* pMatrix); 28 FX_BOOL DrawLButton(CFWL_ThemeBackground* pParams, CFX_Matrix* pMatrix); 29 FX_BOOL DrawRButton(CFWL_ThemeBackground* pParams, CFX_Matrix* pMatrix); 30 FX_BOOL DrawDatesInBK(CFWL_ThemeBackground* pParams, CFX_Matrix* pMatrix); 31 FX_BOOL DrawDatesInCircle(CFWL_ThemeBackground* pParams, CFX_Matrix* pMatrix); 32 FX_BOOL DrawTodayCircle(CFWL_ThemeBackground* pParams, CFX_Matrix* pMatrix); 33 FX_BOOL DrawHSeperator(CFWL_ThemeBackground* pParams, CFX_Matrix* pMatrix); 34 FX_BOOL DrawWeekNumSep(CFWL_ThemeBackground* pParams, CFX_Matrix* pMatrix); 35 FWLTHEME_STATE GetState(FX_DWORD dwFWLStates); 36 void SetThemeData(FX_DWORD dwThemeID); 37 class MCThemeData { 38 public: 39 FX_ARGB clrCaption; 40 FX_ARGB clrSeperator; 41 FX_ARGB clrDatesHoverBK; 42 FX_ARGB clrDatesSelectedBK; 43 FX_ARGB clrDatesCircle; 44 FX_ARGB clrToday; 45 FX_ARGB clrBK; 46 } * m_pThemeData; 47 CFX_WideString wsResource; 48 }; 49 #endif 50