Home | History | Annotate | Download | only in theme
      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