1*3ac0a46fSAndroid Build Coastguard Worker // Copyright 2014 The PDFium Authors 2*3ac0a46fSAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be 3*3ac0a46fSAndroid Build Coastguard Worker // found in the LICENSE file. 4*3ac0a46fSAndroid Build Coastguard Worker 5*3ac0a46fSAndroid Build Coastguard Worker // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com 6*3ac0a46fSAndroid Build Coastguard Worker 7*3ac0a46fSAndroid Build Coastguard Worker #ifndef XFA_FWL_THEME_CFWL_CHECKBOXTP_H_ 8*3ac0a46fSAndroid Build Coastguard Worker #define XFA_FWL_THEME_CFWL_CHECKBOXTP_H_ 9*3ac0a46fSAndroid Build Coastguard Worker 10*3ac0a46fSAndroid Build Coastguard Worker #include <memory> 11*3ac0a46fSAndroid Build Coastguard Worker 12*3ac0a46fSAndroid Build Coastguard Worker #include "fxjs/gc/heap.h" 13*3ac0a46fSAndroid Build Coastguard Worker #include "xfa/fwl/cfwl_themepart.h" 14*3ac0a46fSAndroid Build Coastguard Worker #include "xfa/fwl/theme/cfwl_widgettp.h" 15*3ac0a46fSAndroid Build Coastguard Worker 16*3ac0a46fSAndroid Build Coastguard Worker class CFGAS_GEPath; 17*3ac0a46fSAndroid Build Coastguard Worker class CFWL_Widget; 18*3ac0a46fSAndroid Build Coastguard Worker 19*3ac0a46fSAndroid Build Coastguard Worker class CFWL_CheckBoxTP final : public CFWL_WidgetTP { 20*3ac0a46fSAndroid Build Coastguard Worker public: 21*3ac0a46fSAndroid Build Coastguard Worker CONSTRUCT_VIA_MAKE_GARBAGE_COLLECTED; 22*3ac0a46fSAndroid Build Coastguard Worker ~CFWL_CheckBoxTP() override; 23*3ac0a46fSAndroid Build Coastguard Worker 24*3ac0a46fSAndroid Build Coastguard Worker // CFWL_WidgetTP 25*3ac0a46fSAndroid Build Coastguard Worker void DrawBackground(const CFWL_ThemeBackground& pParams) override; 26*3ac0a46fSAndroid Build Coastguard Worker void DrawText(const CFWL_ThemeText& pParams) override; 27*3ac0a46fSAndroid Build Coastguard Worker 28*3ac0a46fSAndroid Build Coastguard Worker private: 29*3ac0a46fSAndroid Build Coastguard Worker CFWL_CheckBoxTP(); 30*3ac0a46fSAndroid Build Coastguard Worker 31*3ac0a46fSAndroid Build Coastguard Worker void DrawCheckSign(CFWL_Widget* pWidget, 32*3ac0a46fSAndroid Build Coastguard Worker CFGAS_GEGraphics* pGraphics, 33*3ac0a46fSAndroid Build Coastguard Worker const CFX_RectF& pRtBox, 34*3ac0a46fSAndroid Build Coastguard Worker Mask<CFWL_PartState> iState, 35*3ac0a46fSAndroid Build Coastguard Worker const CFX_Matrix& matrix); 36*3ac0a46fSAndroid Build Coastguard Worker void DrawSignCheck(CFGAS_GEGraphics* pGraphics, 37*3ac0a46fSAndroid Build Coastguard Worker const CFX_RectF& rtSign, 38*3ac0a46fSAndroid Build Coastguard Worker FX_ARGB argbFill, 39*3ac0a46fSAndroid Build Coastguard Worker const CFX_Matrix& matrix); 40*3ac0a46fSAndroid Build Coastguard Worker void DrawSignCircle(CFGAS_GEGraphics* pGraphics, 41*3ac0a46fSAndroid Build Coastguard Worker const CFX_RectF& rtSign, 42*3ac0a46fSAndroid Build Coastguard Worker FX_ARGB argbFill, 43*3ac0a46fSAndroid Build Coastguard Worker const CFX_Matrix& matrix); 44*3ac0a46fSAndroid Build Coastguard Worker void DrawSignCross(CFGAS_GEGraphics* pGraphics, 45*3ac0a46fSAndroid Build Coastguard Worker const CFX_RectF& rtSign, 46*3ac0a46fSAndroid Build Coastguard Worker FX_ARGB argbFill, 47*3ac0a46fSAndroid Build Coastguard Worker const CFX_Matrix& matrix); 48*3ac0a46fSAndroid Build Coastguard Worker void DrawSignDiamond(CFGAS_GEGraphics* pGraphics, 49*3ac0a46fSAndroid Build Coastguard Worker const CFX_RectF& rtSign, 50*3ac0a46fSAndroid Build Coastguard Worker FX_ARGB argbFill, 51*3ac0a46fSAndroid Build Coastguard Worker const CFX_Matrix& matrix); 52*3ac0a46fSAndroid Build Coastguard Worker void DrawSignSquare(CFGAS_GEGraphics* pGraphics, 53*3ac0a46fSAndroid Build Coastguard Worker const CFX_RectF& rtSign, 54*3ac0a46fSAndroid Build Coastguard Worker FX_ARGB argbFill, 55*3ac0a46fSAndroid Build Coastguard Worker const CFX_Matrix& matrix); 56*3ac0a46fSAndroid Build Coastguard Worker void DrawSignStar(CFGAS_GEGraphics* pGraphics, 57*3ac0a46fSAndroid Build Coastguard Worker const CFX_RectF& rtSign, 58*3ac0a46fSAndroid Build Coastguard Worker FX_ARGB argbFill, 59*3ac0a46fSAndroid Build Coastguard Worker const CFX_Matrix& matrix); 60*3ac0a46fSAndroid Build Coastguard Worker 61*3ac0a46fSAndroid Build Coastguard Worker void EnsureCheckPathInitialized(float fCheckLen); 62*3ac0a46fSAndroid Build Coastguard Worker 63*3ac0a46fSAndroid Build Coastguard Worker std::unique_ptr<CFGAS_GEPath> m_pCheckPath; 64*3ac0a46fSAndroid Build Coastguard Worker }; 65*3ac0a46fSAndroid Build Coastguard Worker 66*3ac0a46fSAndroid Build Coastguard Worker #endif // XFA_FWL_THEME_CFWL_CHECKBOXTP_H_ 67