|  | // Copyright 2014 The PDFium Authors | 
|  | // 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 FPDFSDK_PWL_CPWL_SPECIAL_BUTTON_H_ | 
|  | #define FPDFSDK_PWL_CPWL_SPECIAL_BUTTON_H_ | 
|  |  | 
|  | #include <memory> | 
|  |  | 
|  | #include "fpdfsdk/pwl/cpwl_button.h" | 
|  |  | 
|  | class CPWL_PushButton final : public CPWL_Button { | 
|  | public: | 
|  | CPWL_PushButton( | 
|  | const CreateParams& cp, | 
|  | std::unique_ptr<IPWL_FillerNotify::PerWindowData> pAttachedData); | 
|  | ~CPWL_PushButton() override; | 
|  |  | 
|  | // CPWL_Button: | 
|  | CFX_FloatRect GetFocusRect() const override; | 
|  | }; | 
|  |  | 
|  | class CPWL_CheckBox final : public CPWL_Button { | 
|  | public: | 
|  | CPWL_CheckBox( | 
|  | const CreateParams& cp, | 
|  | std::unique_ptr<IPWL_FillerNotify::PerWindowData> pAttachedData); | 
|  | ~CPWL_CheckBox() override; | 
|  |  | 
|  | // CPWL_Button: | 
|  | bool OnLButtonUp(Mask<FWL_EVENTFLAG> nFlag, const CFX_PointF& point) override; | 
|  | bool OnChar(uint16_t nChar, Mask<FWL_EVENTFLAG> nFlag) override; | 
|  |  | 
|  | bool IsChecked() const { return m_bChecked; } | 
|  | void SetCheck(bool bCheck) { m_bChecked = bCheck; } | 
|  |  | 
|  | private: | 
|  | bool m_bChecked = false; | 
|  | }; | 
|  |  | 
|  | class CPWL_RadioButton final : public CPWL_Button { | 
|  | public: | 
|  | CPWL_RadioButton( | 
|  | const CreateParams& cp, | 
|  | std::unique_ptr<IPWL_FillerNotify::PerWindowData> pAttachedData); | 
|  | ~CPWL_RadioButton() override; | 
|  |  | 
|  | // CPWL_Button | 
|  | bool OnLButtonUp(Mask<FWL_EVENTFLAG> nFlag, const CFX_PointF& point) override; | 
|  | bool OnChar(uint16_t nChar, Mask<FWL_EVENTFLAG> nFlag) override; | 
|  |  | 
|  | bool IsChecked() const { return m_bChecked; } | 
|  | void SetCheck(bool bCheck) { m_bChecked = bCheck; } | 
|  |  | 
|  | private: | 
|  | bool m_bChecked = false; | 
|  | }; | 
|  |  | 
|  | #endif  // FPDFSDK_PWL_CPWL_SPECIAL_BUTTON_H_ |