// Copyright 2014 PDFium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com #ifndef _FWL_SCROLLBARTP_H #define _FWL_SCROLLBARTP_H class CFWL_WidgetTP; class CFWL_ScrollBarTP; class CFWL_ScrollBarTP : public CFWL_WidgetTP { public: CFWL_ScrollBarTP(); virtual ~CFWL_ScrollBarTP(); virtual FX_BOOL IsValidWidget(IFWL_Widget *pWidget); virtual FX_DWORD SetThemeID(IFWL_Widget *pWidget, FX_DWORD dwThemeID, FX_BOOL bChildren = TRUE); virtual FX_BOOL DrawBackground(CFWL_ThemeBackground *pParams); virtual FX_LPVOID GetCapacity(CFWL_ThemePart *pThemePart, FX_DWORD dwCapacity); protected: void DrawThumbBtn(CFX_Graphics *pGraphics, const CFX_RectF *pRect, FX_BOOL bVert, FWLTHEME_STATE eState, FX_BOOL bPawButton = TRUE, CFX_Matrix *pMatrix = NULL); void DrawTrack(CFX_Graphics *pGraphics, const CFX_RectF *pRect, FX_BOOL bVert, FWLTHEME_STATE eState, FX_BOOL bLowerTrack, CFX_Matrix *pMatrix = NULL); void DrawMaxMinBtn(CFX_Graphics *pGraphics, const CFX_RectF *pRect, FWLTHEME_DIRECTION eDict, FWLTHEME_STATE eState, CFX_Matrix *pMatrix = NULL); void DrawPaw(CFX_Graphics *pGraphics, const CFX_RectF *pRect, FX_BOOL bVert, FWLTHEME_STATE eState, CFX_Matrix *pMatrix = NULL); void SetThemeData(FX_DWORD dwID); struct SBThemeData { FX_ARGB clrPawColorLight[4]; FX_ARGB clrPawColorDark[4]; FX_ARGB clrBtnBK[4][2]; FX_ARGB clrBtnBorder[4]; FX_ARGB clrTrackBKStart; FX_ARGB clrTrackBKEnd; } *m_pThemeData; }; #endif