// 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 void* 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