| 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_IFWL_CHECKBOX_H_ | 7 #ifndef XFA_FWL_CORE_IFWL_CHECKBOX_H_ |
| 8 #define XFA_FWL_CORE_IFWL_CHECKBOX_H_ | 8 #define XFA_FWL_CORE_IFWL_CHECKBOX_H_ |
| 9 | 9 |
| 10 #include <memory> | 10 #include <memory> |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 43 #define FWL_STATE_CKB_Checked (1 << (FWL_WGTSTATE_MAX + 2)) | 43 #define FWL_STATE_CKB_Checked (1 << (FWL_WGTSTATE_MAX + 2)) |
| 44 #define FWL_STATE_CKB_Neutral (2 << (FWL_WGTSTATE_MAX + 2)) | 44 #define FWL_STATE_CKB_Neutral (2 << (FWL_WGTSTATE_MAX + 2)) |
| 45 #define FWL_STATE_CKB_CheckMask (3L << (FWL_WGTSTATE_MAX + 2)) | 45 #define FWL_STATE_CKB_CheckMask (3L << (FWL_WGTSTATE_MAX + 2)) |
| 46 | 46 |
| 47 class CFWL_MsgMouse; | 47 class CFWL_MsgMouse; |
| 48 class CFWL_WidgetProperties; | 48 class CFWL_WidgetProperties; |
| 49 class IFWL_Widget; | 49 class IFWL_Widget; |
| 50 | 50 |
| 51 class IFWL_CheckBox : public IFWL_Widget { | 51 class IFWL_CheckBox : public IFWL_Widget { |
| 52 public: | 52 public: |
| 53 class DataProvider : public IFWL_Widget::DataProvider { | 53 class DataProvider { |
| 54 public: | 54 public: |
| 55 virtual FX_FLOAT GetBoxSize(IFWL_Widget* pWidget) = 0; | 55 virtual FX_FLOAT GetBoxSize(IFWL_Widget* pWidget) = 0; |
| 56 }; | 56 }; |
| 57 | 57 |
| 58 IFWL_CheckBox(const CFWL_App* app, | 58 IFWL_CheckBox(const CFWL_App* app, |
| 59 std::unique_ptr<CFWL_WidgetProperties> properties); | 59 std::unique_ptr<CFWL_WidgetProperties> properties); |
| 60 ~IFWL_CheckBox() override; | 60 ~IFWL_CheckBox() override; |
| 61 | 61 |
| 62 // IFWL_Widget | 62 // IFWL_Widget |
| 63 FWL_Type GetClassID() const override; | 63 FWL_Type GetClassID() const override; |
| 64 void GetWidgetRect(CFX_RectF& rect, bool bAutoSize = false) override; | 64 void GetWidgetRect(CFX_RectF& rect, bool bAutoSize = false) override; |
| 65 void Update() override; | 65 void Update() override; |
| 66 void DrawWidget(CFX_Graphics* pGraphics, | 66 void DrawWidget(CFX_Graphics* pGraphics, |
| 67 const CFX_Matrix* pMatrix = nullptr) override; | 67 const CFX_Matrix* pMatrix = nullptr) override; |
| 68 | 68 |
| 69 void OnProcessMessage(CFWL_Message* pMessage) override; | 69 void OnProcessMessage(CFWL_Message* pMessage) override; |
| 70 void OnDrawWidget(CFX_Graphics* pGraphics, | 70 void OnDrawWidget(CFX_Graphics* pGraphics, |
| 71 const CFX_Matrix* pMatrix) override; | 71 const CFX_Matrix* pMatrix) override; |
| 72 | 72 |
| 73 void SetDataProvider(IFWL_CheckBox::DataProvider* pProvider) { |
| 74 m_pDataProvider = pProvider; |
| 75 } |
| 76 |
| 73 private: | 77 private: |
| 74 void SetCheckState(int32_t iCheck); | 78 void SetCheckState(int32_t iCheck); |
| 75 void Layout(); | 79 void Layout(); |
| 76 uint32_t GetPartStates() const; | 80 uint32_t GetPartStates() const; |
| 77 void UpdateTextOutStyles(); | 81 void UpdateTextOutStyles(); |
| 78 void NextStates(); | 82 void NextStates(); |
| 79 void OnFocusChanged(bool bSet); | 83 void OnFocusChanged(bool bSet); |
| 80 void OnLButtonDown(); | 84 void OnLButtonDown(); |
| 81 void OnLButtonUp(CFWL_MsgMouse* pMsg); | 85 void OnLButtonUp(CFWL_MsgMouse* pMsg); |
| 82 void OnMouseMove(CFWL_MsgMouse* pMsg); | 86 void OnMouseMove(CFWL_MsgMouse* pMsg); |
| 83 void OnMouseLeave(); | 87 void OnMouseLeave(); |
| 84 void OnKeyDown(CFWL_MsgKey* pMsg); | 88 void OnKeyDown(CFWL_MsgKey* pMsg); |
| 85 | 89 |
| 90 IFWL_CheckBox::DataProvider* m_pDataProvider; // Not owned. |
| 86 CFX_RectF m_rtClient; | 91 CFX_RectF m_rtClient; |
| 87 CFX_RectF m_rtBox; | 92 CFX_RectF m_rtBox; |
| 88 CFX_RectF m_rtCaption; | 93 CFX_RectF m_rtCaption; |
| 89 CFX_RectF m_rtFocus; | 94 CFX_RectF m_rtFocus; |
| 90 uint32_t m_dwTTOStyles; | 95 uint32_t m_dwTTOStyles; |
| 91 int32_t m_iTTOAlign; | 96 int32_t m_iTTOAlign; |
| 92 bool m_bBtnDown; | 97 bool m_bBtnDown; |
| 93 }; | 98 }; |
| 94 | 99 |
| 95 #endif // XFA_FWL_CORE_IFWL_CHECKBOX_H_ | 100 #endif // XFA_FWL_CORE_IFWL_CHECKBOX_H_ |
| OLD | NEW |