| OLD | NEW | 
|---|
| 1 // Copyright 2014 PDFium Authors. All rights reserved. | 1 // Copyright 2014 PDFium Authors. All rights reserved. | 
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be | 
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. | 
| 4 | 4 | 
| 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | 
| 6 | 6 | 
| 7 #ifndef XFA_FWL_CORE_CFWL_PUSHBUTTON_H_ | 7 #ifndef XFA_FWL_CORE_CFWL_PUSHBUTTON_H_ | 
| 8 #define XFA_FWL_CORE_CFWL_PUSHBUTTON_H_ | 8 #define XFA_FWL_CORE_CFWL_PUSHBUTTON_H_ | 
| 9 | 9 | 
|  | 10 #include <memory> | 
|  | 11 | 
| 10 #include "xfa/fwl/core/cfwl_widget.h" | 12 #include "xfa/fwl/core/cfwl_widget.h" | 
| 11 #include "xfa/fwl/core/ifwl_pushbutton.h" | 13 #include "xfa/fwl/core/cfwl_widgetproperties.h" | 
|  | 14 | 
|  | 15 #define FWL_STYLEEXT_PSB_Left (0L << 0) | 
|  | 16 #define FWL_STYLEEXT_PSB_Center (1L << 0) | 
|  | 17 #define FWL_STYLEEXT_PSB_Right (2L << 0) | 
|  | 18 #define FWL_STYLEEXT_PSB_Top (0L << 2) | 
|  | 19 #define FWL_STYLEEXT_PSB_VCenter (1L << 2) | 
|  | 20 #define FWL_STYLEEXT_PSB_Bottom (2L << 2) | 
|  | 21 #define FWL_STYLEEXT_PSB_TextOnly (0L << 4) | 
|  | 22 #define FWL_STYLEEXT_PSB_IconOnly (1L << 4) | 
|  | 23 #define FWL_STYLEEXT_PSB_TextIcon (2L << 4) | 
|  | 24 #define FWL_STYLEEXT_PSB_HLayoutMask (3L << 0) | 
|  | 25 #define FWL_STYLEEXT_PSB_VLayoutMask (3L << 2) | 
|  | 26 #define FWL_STYLEEXT_PSB_ModeMask (3L << 4) | 
|  | 27 #define FWL_STATE_PSB_Hovered (1 << FWL_WGTSTATE_MAX) | 
|  | 28 #define FWL_STATE_PSB_Pressed (1 << (FWL_WGTSTATE_MAX + 1)) | 
|  | 29 #define FWL_STATE_PSB_Default (1 << (FWL_WGTSTATE_MAX + 2)) | 
|  | 30 | 
|  | 31 class CFWL_MsgMouse; | 
|  | 32 class CFX_DIBitmap; | 
|  | 33 class CFWL_Widget; | 
| 12 | 34 | 
| 13 class CFWL_PushButton : public CFWL_Widget { | 35 class CFWL_PushButton : public CFWL_Widget { | 
| 14  public: | 36  public: | 
| 15   explicit CFWL_PushButton(const CFWL_App*); | 37   explicit CFWL_PushButton(const CFWL_App*); | 
| 16   ~CFWL_PushButton() override; | 38   ~CFWL_PushButton() override; | 
| 17 | 39 | 
| 18   void Initialize(); | 40   // CFWL_Widget | 
|  | 41   FWL_Type GetClassID() const override; | 
|  | 42   void GetWidgetRect(CFX_RectF& rect, bool bAutoSize = false) override; | 
|  | 43   void SetStates(uint32_t dwStates, bool bSet = true) override; | 
|  | 44   void Update() override; | 
|  | 45   void DrawWidget(CFX_Graphics* pGraphics, | 
|  | 46                   const CFX_Matrix* pMatrix = nullptr) override; | 
|  | 47   void OnProcessMessage(CFWL_Message* pMessage) override; | 
|  | 48   void OnDrawWidget(CFX_Graphics* pGraphics, | 
|  | 49                     const CFX_Matrix* pMatrix) override; | 
|  | 50 | 
|  | 51  private: | 
|  | 52   void DrawBkground(CFX_Graphics* pGraphics, | 
|  | 53                     IFWL_ThemeProvider* pTheme, | 
|  | 54                     const CFX_Matrix* pMatrix); | 
|  | 55   uint32_t GetPartStates(); | 
|  | 56   void UpdateTextOutStyles(); | 
|  | 57   void OnFocusChanged(CFWL_Message* pMsg, bool bSet); | 
|  | 58   void OnLButtonDown(CFWL_MsgMouse* pMsg); | 
|  | 59   void OnLButtonUp(CFWL_MsgMouse* pMsg); | 
|  | 60   void OnMouseMove(CFWL_MsgMouse* pMsg); | 
|  | 61   void OnMouseLeave(CFWL_MsgMouse* pMsg); | 
|  | 62   void OnKeyDown(CFWL_MsgKey* pMsg); | 
|  | 63 | 
|  | 64   CFX_RectF m_rtClient; | 
|  | 65   CFX_RectF m_rtCaption; | 
|  | 66   bool m_bBtnDown; | 
|  | 67   uint32_t m_dwTTOStyles; | 
|  | 68   int32_t m_iTTOAlign; | 
| 19 }; | 69 }; | 
| 20 | 70 | 
| 21 #endif  // XFA_FWL_CORE_CFWL_PUSHBUTTON_H_ | 71 #endif  // XFA_FWL_CORE_CFWL_PUSHBUTTON_H_ | 
| OLD | NEW | 
|---|