// 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_formfiller.h" class CFX_RenderDevice; class CFX_Matrix; class CPDFSDK_Annot; class CPDFSDK_FormFillEnvironment; class CPDFSDK_PageView; class CPDFSDK_Widget; class CFFL_Button : public CFFL_FormFiller { public: CFFL_Button(CPDFSDK_FormFillEnvironment* pFormFillEnv, CPDFSDK_Widget* pWidget); ~CFFL_Button() override; // CFFL_FormFiller void OnMouseEnter(CPDFSDK_PageView* pPageView, CPDFSDK_Annot* pAnnot) override; void OnMouseExit(CPDFSDK_PageView* pPageView, CPDFSDK_Annot* pAnnot) 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, CPDFSDK_Annot* pAnnot, 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; bool m_bMouseDown; }; #endif // FPDFSDK_FORMFILLER_CFFL_BUTTON_H_