diff options
author | Dan Sinclair <dsinclair@chromium.org> | 2017-05-25 16:49:51 -0400 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2017-05-25 22:13:23 +0000 |
commit | 2eddb665763f3e089d4c210d2a011d112683f3ea (patch) | |
tree | 2cd94caacc5d4be1714e53d3312887be31d23b52 /xfa/fxfa/app/cxfa_ffpushbutton.h | |
parent | b7deb9b60e045f2442c635b2ec8279e7ee282aa0 (diff) | |
download | pdfium-2eddb665763f3e089d4c210d2a011d112683f3ea.tar.xz |
Split apart remaining xfa/fxfa/app files
This CL splits the remaining files in xfa/fxfa/app into individual files
named after the classes.
Change-Id: I84bd8938937641bb6897614ed15558a2682f456c
Reviewed-on: https://pdfium-review.googlesource.com/6010
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
Diffstat (limited to 'xfa/fxfa/app/cxfa_ffpushbutton.h')
-rw-r--r-- | xfa/fxfa/app/cxfa_ffpushbutton.h | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/xfa/fxfa/app/cxfa_ffpushbutton.h b/xfa/fxfa/app/cxfa_ffpushbutton.h new file mode 100644 index 0000000000..797d92d970 --- /dev/null +++ b/xfa/fxfa/app/cxfa_ffpushbutton.h @@ -0,0 +1,54 @@ +// 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_APP_CXFA_FFPUSHBUTTON_H_ +#define XFA_FXFA_APP_CXFA_FFPUSHBUTTON_H_ + +#include <memory> + +#include "xfa/fxfa/app/cxfa_fffield.h" + +#define XFA_FWL_PSBSTYLEEXT_HiliteNone (0L << 0) +#define XFA_FWL_PSBSTYLEEXT_HiliteInverted (1L << 0) +#define XFA_FWL_PSBSTYLEEXT_HilitePush (2L << 0) +#define XFA_FWL_PSBSTYLEEXT_HiliteOutLine (4L << 0) + +class CXFA_TextProvider; + +class CXFA_FFPushButton : public CXFA_FFField { + public: + explicit CXFA_FFPushButton(CXFA_WidgetAcc* pDataAcc); + ~CXFA_FFPushButton() override; + + // CXFA_FFField + void RenderWidget(CFX_Graphics* pGS, + CFX_Matrix* pMatrix, + uint32_t dwStatus) override; + bool LoadWidget() override; + void UnloadWidget() override; + bool PerformLayout() override; + void UpdateWidgetProperty() override; + void OnProcessMessage(CFWL_Message* pMessage) override; + void OnProcessEvent(CFWL_Event* pEvent) override; + void OnDrawWidget(CFX_Graphics* pGraphics, + const CFX_Matrix* pMatrix = nullptr) override; + + private: + void LoadHighlightCaption(); + void LayoutHighlightCaption(); + void RenderHighlightCaption(CFX_Graphics* pGS, CFX_Matrix* pMatrix); + float GetLineWidth(); + FX_ARGB GetLineColor(); + FX_ARGB GetFillColor(); + + std::unique_ptr<CXFA_TextLayout> m_pRolloverTextLayout; + std::unique_ptr<CXFA_TextLayout> m_pDownTextLayout; + std::unique_ptr<CXFA_TextProvider> m_pRollProvider; + std::unique_ptr<CXFA_TextProvider> m_pDownProvider; + IFWL_WidgetDelegate* m_pOldDelegate; +}; + +#endif // XFA_FXFA_APP_CXFA_FFPUSHBUTTON_H_ |