// 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 XFA_FWL_THEME_CFWL_SCROLLBARTP_H_ #define XFA_FWL_THEME_CFWL_SCROLLBARTP_H_ #include #include "xfa/fwl/theme/cfwl_widgettp.h" class CFWL_ScrollBarTP final : public CFWL_WidgetTP { public: CFWL_ScrollBarTP(); ~CFWL_ScrollBarTP() override; // CFWL_WidgetTP void DrawBackground(CFWL_ThemeBackground* pParams) override; private: struct SBThemeData { FX_ARGB clrTrackBKStart; FX_ARGB clrTrackBKEnd; FX_ARGB clrPawColorLight[4]; FX_ARGB clrPawColorDark[4]; FX_ARGB clrBtnBK[4][2]; FX_ARGB clrBtnBorder[4]; }; void DrawThumbBtn(CXFA_Graphics* pGraphics, const CFX_RectF* pRect, bool bVert, FWLTHEME_STATE eState, bool bPawButton, CFX_Matrix* pMatrix); void DrawTrack(CXFA_Graphics* pGraphics, const CFX_RectF* pRect, bool bVert, FWLTHEME_STATE eState, bool bLowerTrack, CFX_Matrix* pMatrix); void DrawMaxMinBtn(CXFA_Graphics* pGraphics, const CFX_RectF* pRect, FWLTHEME_DIRECTION eDict, FWLTHEME_STATE eState, CFX_Matrix* pMatrix); void DrawPaw(CXFA_Graphics* pGraphics, const CFX_RectF* pRect, bool bVert, FWLTHEME_STATE eState, CFX_Matrix* pMatrix); void SetThemeData(); std::unique_ptr m_pThemeData; }; #endif // XFA_FWL_THEME_CFWL_SCROLLBARTP_H_