diff options
Diffstat (limited to 'xfa/fxfa/cxfa_ffcheckbutton.h')
-rw-r--r-- | xfa/fxfa/cxfa_ffcheckbutton.h | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/xfa/fxfa/cxfa_ffcheckbutton.h b/xfa/fxfa/cxfa_ffcheckbutton.h new file mode 100644 index 0000000000..d6fd09d2c9 --- /dev/null +++ b/xfa/fxfa/cxfa_ffcheckbutton.h @@ -0,0 +1,46 @@ +// Copyright 2014 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 XFA_FXFA_CXFA_FFCHECKBUTTON_H_ +#define XFA_FXFA_CXFA_FFCHECKBUTTON_H_ + +#include "xfa/fxfa/cxfa_fffield.h" +#include "xfa/fxfa/cxfa_ffpageview.h" + +class CXFA_FFCheckButton : public CXFA_FFField { + public: + explicit CXFA_FFCheckButton(CXFA_WidgetAcc* pDataAcc); + ~CXFA_FFCheckButton() override; + + // CXFA_FFField + void RenderWidget(CXFA_Graphics* pGS, + CFX_Matrix* pMatrix, + uint32_t dwStatus) override; + + bool LoadWidget() override; + bool PerformLayout() override; + bool UpdateFWLData() override; + void UpdateWidgetProperty() override; + bool OnLButtonUp(uint32_t dwFlags, const CFX_PointF& point) override; + void OnProcessMessage(CFWL_Message* pMessage) override; + void OnProcessEvent(CFWL_Event* pEvent) override; + void OnDrawWidget(CXFA_Graphics* pGraphics, + const CFX_Matrix* pMatrix = nullptr) override; + + void SetFWLCheckState(XFA_CHECKSTATE eCheckState); + + private: + bool CommitData() override; + bool IsDataChanged() override; + void CapLeftRightPlacement(CXFA_Margin mgCap); + void AddUIMargin(int32_t iCapPlacement); + XFA_CHECKSTATE FWLState2XFAState(); + + IFWL_WidgetDelegate* m_pOldDelegate; + CFX_RectF m_rtCheckBox; +}; + +#endif // XFA_FXFA_CXFA_FFCHECKBUTTON_H_ |