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 FPDFSDK_FORMFILLER_CFFL_CHECKBOX_H_ 8*3ac0a46fSAndroid Build Coastguard Worker #define FPDFSDK_FORMFILLER_CFFL_CHECKBOX_H_ 9*3ac0a46fSAndroid Build Coastguard Worker 10*3ac0a46fSAndroid Build Coastguard Worker #include <memory> 11*3ac0a46fSAndroid Build Coastguard Worker 12*3ac0a46fSAndroid Build Coastguard Worker #include "fpdfsdk/formfiller/cffl_button.h" 13*3ac0a46fSAndroid Build Coastguard Worker 14*3ac0a46fSAndroid Build Coastguard Worker class CPWL_CheckBox; 15*3ac0a46fSAndroid Build Coastguard Worker 16*3ac0a46fSAndroid Build Coastguard Worker class CFFL_CheckBox final : public CFFL_Button { 17*3ac0a46fSAndroid Build Coastguard Worker public: 18*3ac0a46fSAndroid Build Coastguard Worker CFFL_CheckBox(CFFL_InteractiveFormFiller* pFormFiller, 19*3ac0a46fSAndroid Build Coastguard Worker CPDFSDK_Widget* pWidget); 20*3ac0a46fSAndroid Build Coastguard Worker ~CFFL_CheckBox() override; 21*3ac0a46fSAndroid Build Coastguard Worker 22*3ac0a46fSAndroid Build Coastguard Worker // CFFL_Button: 23*3ac0a46fSAndroid Build Coastguard Worker std::unique_ptr<CPWL_Wnd> NewPWLWindow( 24*3ac0a46fSAndroid Build Coastguard Worker const CPWL_Wnd::CreateParams& cp, 25*3ac0a46fSAndroid Build Coastguard Worker std::unique_ptr<IPWL_FillerNotify::PerWindowData> pAttachedData) override; 26*3ac0a46fSAndroid Build Coastguard Worker bool OnKeyDown(FWL_VKEYCODE nKeyCode, Mask<FWL_EVENTFLAG> nFlags) override; 27*3ac0a46fSAndroid Build Coastguard Worker bool OnChar(CPDFSDK_Widget* pWidget, 28*3ac0a46fSAndroid Build Coastguard Worker uint32_t nChar, 29*3ac0a46fSAndroid Build Coastguard Worker Mask<FWL_EVENTFLAG> nFlags) override; 30*3ac0a46fSAndroid Build Coastguard Worker bool OnLButtonUp(CPDFSDK_PageView* pPageView, 31*3ac0a46fSAndroid Build Coastguard Worker CPDFSDK_Widget* pWidget, 32*3ac0a46fSAndroid Build Coastguard Worker Mask<FWL_EVENTFLAG> nFlags, 33*3ac0a46fSAndroid Build Coastguard Worker const CFX_PointF& point) override; 34*3ac0a46fSAndroid Build Coastguard Worker bool IsDataChanged(const CPDFSDK_PageView* pPageView) override; 35*3ac0a46fSAndroid Build Coastguard Worker void SaveData(const CPDFSDK_PageView* pPageView) override; 36*3ac0a46fSAndroid Build Coastguard Worker 37*3ac0a46fSAndroid Build Coastguard Worker private: 38*3ac0a46fSAndroid Build Coastguard Worker CPWL_CheckBox* GetPWLCheckBox(const CPDFSDK_PageView* pPageView) const; 39*3ac0a46fSAndroid Build Coastguard Worker CPWL_CheckBox* CreateOrUpdatePWLCheckBox(const CPDFSDK_PageView* pPageView); 40*3ac0a46fSAndroid Build Coastguard Worker }; 41*3ac0a46fSAndroid Build Coastguard Worker 42*3ac0a46fSAndroid Build Coastguard Worker #endif // FPDFSDK_FORMFILLER_CFFL_CHECKBOX_H_ 43