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_TOOLTIP_H_ | 7 #ifndef XFA_FWL_CORE_IFWL_TOOLTIP_H_ |
8 #define XFA_FWL_CORE_IFWL_TOOLTIP_H_ | 8 #define XFA_FWL_CORE_IFWL_TOOLTIP_H_ |
9 | 9 |
10 #include "xfa/fwl/core/ifwl_form.h" | 10 #include "xfa/fwl/core/ifwl_form.h" |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
43 FWL_Type GetClassID() const override; | 43 FWL_Type GetClassID() const override; |
44 void GetWidgetRect(CFX_RectF& rect, bool bAutoSize = false) override; | 44 void GetWidgetRect(CFX_RectF& rect, bool bAutoSize = false) override; |
45 void Update() override; | 45 void Update() override; |
46 void DrawWidget(CFX_Graphics* pGraphics, | 46 void DrawWidget(CFX_Graphics* pGraphics, |
47 const CFX_Matrix* pMatrix = nullptr) override; | 47 const CFX_Matrix* pMatrix = nullptr) override; |
48 void SetStates(uint32_t dwStates, bool bSet) override; | 48 void SetStates(uint32_t dwStates, bool bSet) override; |
49 void GetClientRect(CFX_RectF& rect) override; | 49 void GetClientRect(CFX_RectF& rect) override; |
50 void OnDrawWidget(CFX_Graphics* pGraphics, | 50 void OnDrawWidget(CFX_Graphics* pGraphics, |
51 const CFX_Matrix* pMatrix) override; | 51 const CFX_Matrix* pMatrix) override; |
52 | 52 |
53 void SetAnchor(const CFX_RectF& rtAnchor); | 53 private: |
54 void Show(); | |
55 void Hide(); | |
56 | |
57 protected: | |
58 class Timer : public IFWL_Timer { | 54 class Timer : public IFWL_Timer { |
59 public: | 55 public: |
60 explicit Timer(IFWL_ToolTip* pToolTip); | 56 explicit Timer(IFWL_ToolTip* pToolTip); |
61 ~Timer() override {} | 57 ~Timer() override {} |
62 | 58 |
63 void Run(IFWL_TimerInfo* pTimerInfo) override; | 59 void Run(IFWL_TimerInfo* pTimerInfo) override; |
64 }; | 60 }; |
65 friend class IFWL_ToolTip::Timer; | 61 friend class IFWL_ToolTip::Timer; |
66 | 62 |
67 void DrawBkground(CFX_Graphics* pGraphics, | 63 void DrawBkground(CFX_Graphics* pGraphics, |
68 IFWL_ThemeProvider* pTheme, | 64 IFWL_ThemeProvider* pTheme, |
69 const CFX_Matrix* pMatrix); | 65 const CFX_Matrix* pMatrix); |
70 void DrawText(CFX_Graphics* pGraphics, | 66 void DrawText(CFX_Graphics* pGraphics, |
71 IFWL_ThemeProvider* pTheme, | 67 IFWL_ThemeProvider* pTheme, |
72 const CFX_Matrix* pMatrix); | 68 const CFX_Matrix* pMatrix); |
73 void UpdateTextOutStyles(); | 69 void UpdateTextOutStyles(); |
74 void RefreshToolTipPos(); | 70 void RefreshToolTipPos(); |
75 | 71 |
76 CFX_RectF m_rtClient; | 72 CFX_RectF m_rtClient; |
77 CFX_RectF m_rtCaption; | 73 CFX_RectF m_rtCaption; |
78 bool m_bBtnDown; | |
79 uint32_t m_dwTTOStyles; | 74 uint32_t m_dwTTOStyles; |
80 int32_t m_iTTOAlign; | 75 int32_t m_iTTOAlign; |
81 CFX_RectF m_rtAnchor; | 76 CFX_RectF m_rtAnchor; |
82 IFWL_TimerInfo* m_pTimerInfoShow; | 77 IFWL_TimerInfo* m_pTimerInfoShow; |
83 IFWL_TimerInfo* m_pTimerInfoHide; | 78 IFWL_TimerInfo* m_pTimerInfoHide; |
84 IFWL_ToolTip::Timer m_TimerShow; | 79 IFWL_ToolTip::Timer m_TimerShow; |
85 IFWL_ToolTip::Timer m_TimerHide; | 80 IFWL_ToolTip::Timer m_TimerHide; |
86 | |
87 private: | |
88 void OnFocusChanged(CFWL_Message* pMsg, bool bSet); | |
89 void OnLButtonDown(CFWL_MsgMouse* pMsg); | |
90 void OnLButtonUp(CFWL_MsgMouse* pMsg); | |
91 void OnMouseMove(CFWL_MsgMouse* pMsg); | |
92 void OnMouseLeave(CFWL_MsgMouse* pMsg); | |
93 void OnKeyDown(CFWL_MsgKey* pMsg); | |
94 }; | 81 }; |
95 | 82 |
96 #endif // XFA_FWL_CORE_IFWL_TOOLTIP_H_ | 83 #endif // XFA_FWL_CORE_IFWL_TOOLTIP_H_ |
OLD | NEW |