|  | // Copyright 2017 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 FPDFSDK_FORMFILLER_CFFL_BUTTON_H_ | 
|  | #define FPDFSDK_FORMFILLER_CFFL_BUTTON_H_ | 
|  |  | 
|  | #include "core/fxcrt/fx_coordinates.h" | 
|  | #include "fpdfsdk/formfiller/cffl_formfield.h" | 
|  |  | 
|  | class CFX_RenderDevice; | 
|  | class CFX_Matrix; | 
|  | class CPDFSDK_Annot; | 
|  | class CPDFSDK_FormFillEnvironment; | 
|  | class CPDFSDK_PageView; | 
|  | class CPDFSDK_Widget; | 
|  |  | 
|  | class CFFL_Button : public CFFL_FormField { | 
|  | public: | 
|  | CFFL_Button(CPDFSDK_FormFillEnvironment* pFormFillEnv, | 
|  | CPDFSDK_Widget* pWidget); | 
|  | ~CFFL_Button() override; | 
|  |  | 
|  | // CFFL_FormField | 
|  | void OnMouseEnter(CPDFSDK_PageView* pPageView) override; | 
|  | void OnMouseExit(CPDFSDK_PageView* pPageView) override; | 
|  | bool OnLButtonDown(CPDFSDK_PageView* pPageView, | 
|  | CPDFSDK_Annot* pAnnot, | 
|  | uint32_t nFlags, | 
|  | const CFX_PointF& point) override; | 
|  | bool OnLButtonUp(CPDFSDK_PageView* pPageView, | 
|  | CPDFSDK_Annot* pAnnot, | 
|  | uint32_t nFlags, | 
|  | const CFX_PointF& point) override; | 
|  | bool OnMouseMove(CPDFSDK_PageView* pPageView, | 
|  | uint32_t nFlags, | 
|  | const CFX_PointF& point) override; | 
|  | void OnDraw(CPDFSDK_PageView* pPageView, | 
|  | CPDFSDK_Annot* pAnnot, | 
|  | CFX_RenderDevice* pDevice, | 
|  | const CFX_Matrix& mtUser2Device) override; | 
|  | void OnDrawDeactive(CPDFSDK_PageView* pPageView, | 
|  | CPDFSDK_Annot* pAnnot, | 
|  | CFX_RenderDevice* pDevice, | 
|  | const CFX_Matrix& mtUser2Device) override; | 
|  |  | 
|  | private: | 
|  | bool m_bMouseIn = false; | 
|  | bool m_bMouseDown = false; | 
|  | }; | 
|  |  | 
|  | #endif  // FPDFSDK_FORMFILLER_CFFL_BUTTON_H_ |