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_SCROLLBARTP_H
      8 #define _FWL_SCROLLBARTP_H
      9 class CFWL_WidgetTP;
     10 class CFWL_ScrollBarTP;
     11 class CFWL_ScrollBarTP : public CFWL_WidgetTP {
     12  public:
     13   CFWL_ScrollBarTP();
     14   virtual ~CFWL_ScrollBarTP();
     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 
     22  protected:
     23   void DrawThumbBtn(CFX_Graphics* pGraphics,
     24                     const CFX_RectF* pRect,
     25                     FX_BOOL bVert,
     26                     FWLTHEME_STATE eState,
     27                     FX_BOOL bPawButton = TRUE,
     28                     CFX_Matrix* pMatrix = NULL);
     29   void DrawTrack(CFX_Graphics* pGraphics,
     30                  const CFX_RectF* pRect,
     31                  FX_BOOL bVert,
     32                  FWLTHEME_STATE eState,
     33                  FX_BOOL bLowerTrack,
     34                  CFX_Matrix* pMatrix = NULL);
     35   void DrawMaxMinBtn(CFX_Graphics* pGraphics,
     36                      const CFX_RectF* pRect,
     37                      FWLTHEME_DIRECTION eDict,
     38                      FWLTHEME_STATE eState,
     39                      CFX_Matrix* pMatrix = NULL);
     40   void DrawPaw(CFX_Graphics* pGraphics,
     41                const CFX_RectF* pRect,
     42                FX_BOOL bVert,
     43                FWLTHEME_STATE eState,
     44                CFX_Matrix* pMatrix = NULL);
     45   void SetThemeData(FX_DWORD dwID);
     46   struct SBThemeData {
     47     FX_ARGB clrPawColorLight[4];
     48     FX_ARGB clrPawColorDark[4];
     49     FX_ARGB clrBtnBK[4][2];
     50     FX_ARGB clrBtnBorder[4];
     51     FX_ARGB clrTrackBKStart;
     52     FX_ARGB clrTrackBKEnd;
     53   } * m_pThemeData;
     54 };
     55 #endif
     56