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 _FXFA_FORMFILLER_CHECKBUTTON_IMP_H 8 #define _FXFA_FORMFILLER_CHECKBUTTON_IMP_H 9 class CXFA_FFExclGroup; 10 class CXFA_FFCheckButton : public CXFA_FFField { 11 public: 12 CXFA_FFCheckButton(CXFA_FFPageView* pPageView, CXFA_WidgetAcc* pDataAcc); 13 virtual ~CXFA_FFCheckButton(); 14 virtual void RenderWidget(CFX_Graphics* pGS, 15 CFX_Matrix* pMatrix = NULL, 16 FX_DWORD dwStatus = 0, 17 int32_t iRotate = 0); 18 19 virtual FX_BOOL LoadWidget(); 20 virtual FX_BOOL PerformLayout(); 21 virtual FX_BOOL UpdateFWLData(); 22 virtual void UpdateWidgetProperty(); 23 virtual FX_BOOL OnLButtonUp(FX_DWORD dwFlags, FX_FLOAT fx, FX_FLOAT fy); 24 void SetFWLCheckState(XFA_CHECKSTATE eCheckState); 25 virtual int32_t OnProcessMessage(CFWL_Message* pMessage); 26 virtual FWL_ERR OnProcessEvent(CFWL_Event* pEvent); 27 virtual FWL_ERR OnDrawWidget(CFX_Graphics* pGraphics, 28 const CFX_Matrix* pMatrix = NULL); 29 30 protected: 31 virtual FX_BOOL CommitData(); 32 virtual FX_BOOL IsDataChanged(); 33 void CapLeftRightPlacement(CXFA_Margin mgCap); 34 void AddUIMargin(int32_t iCapPlacement); 35 XFA_CHECKSTATE FWLState2XFAState(); 36 IFWL_WidgetDelegate* m_pOldDelegate; 37 CFX_RectF m_rtCheckBox; 38 }; 39 #endif 40