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_FWL_NOTEIMP_H_ | 7 #ifndef XFA_FWL_CORE_FWL_NOTEIMP_H_ |
8 #define XFA_FWL_CORE_FWL_NOTEIMP_H_ | 8 #define XFA_FWL_CORE_FWL_NOTEIMP_H_ |
9 | 9 |
10 #include "xfa/fwl/core/ifwl_notedriver.h" | 10 #include "xfa/fwl/core/ifwl_notedriver.h" |
(...skipping 10 matching lines...) Expand all Loading... | |
21 class CFWL_MsgMouseWheel; | 21 class CFWL_MsgMouseWheel; |
22 class CFWL_MsgSetFocus; | 22 class CFWL_MsgSetFocus; |
23 class CFWL_MsgSize; | 23 class CFWL_MsgSize; |
24 class CFWL_MsgWindowMove; | 24 class CFWL_MsgWindowMove; |
25 class CFWL_ToolTipImp; | 25 class CFWL_ToolTipImp; |
26 class CFWL_WidgetImp; | 26 class CFWL_WidgetImp; |
27 class IFWL_ToolTipTarget; | 27 class IFWL_ToolTipTarget; |
28 | 28 |
29 class CFWL_NoteLoop : public IFWL_NoteLoop { | 29 class CFWL_NoteLoop : public IFWL_NoteLoop { |
30 public: | 30 public: |
31 CFWL_NoteLoop(CFWL_WidgetImp* pForm = NULL); | 31 CFWL_NoteLoop(CFWL_WidgetImp* pForm = nullptr); |
32 ~CFWL_NoteLoop() override {} | |
Tom Sepez
2016/04/13 20:13:28
nit: implementation should be in .cpp file, even i
dsinclair
2016/04/13 20:17:17
Ack. There are a lot of these at the moment. My pl
| |
32 | 33 |
33 // IFWL_NoteLoop: | 34 // IFWL_NoteLoop: |
34 ~CFWL_NoteLoop() override {} | |
35 FX_BOOL PreProcessMessage(CFWL_Message* pMessage) override; | |
36 FWL_ERR Idle(int32_t count) override; | 35 FWL_ERR Idle(int32_t count) override; |
37 | 36 |
38 CFWL_WidgetImp* GetForm(); | 37 CFWL_WidgetImp* GetForm(); |
39 FX_BOOL ContinueModal(); | 38 FX_BOOL ContinueModal(); |
40 FWL_ERR EndModalLoop(); | 39 FWL_ERR EndModalLoop(); |
41 FX_BOOL TranslateAccelerator(CFWL_Message* pMessage); | |
42 FWL_ERR SetMainForm(CFWL_WidgetImp* pForm); | 40 FWL_ERR SetMainForm(CFWL_WidgetImp* pForm); |
43 | 41 |
44 protected: | 42 protected: |
45 void GenerateCommondEvent(uint32_t dwCommand); | 43 void GenerateCommondEvent(uint32_t dwCommand); |
46 | 44 |
47 CFWL_WidgetImp* m_pForm; | 45 CFWL_WidgetImp* m_pForm; |
48 FX_BOOL m_bContinueModal; | 46 FX_BOOL m_bContinueModal; |
49 }; | 47 }; |
50 | 48 |
51 class CFWL_NoteDriver : public IFWL_NoteDriver { | 49 class CFWL_NoteDriver : public IFWL_NoteDriver { |
52 public: | 50 public: |
53 CFWL_NoteDriver(); | 51 CFWL_NoteDriver(); |
54 ~CFWL_NoteDriver() override; | 52 ~CFWL_NoteDriver() override; |
55 | 53 |
56 // IFWL_NoteDriver: | 54 // IFWL_NoteDriver: |
57 FX_BOOL SendNote(CFWL_Note* pNote) override; | 55 FX_BOOL SendNote(CFWL_Note* pNote) override; |
58 FWL_ERR RegisterEventTarget(IFWL_Widget* pListener, | 56 FWL_ERR RegisterEventTarget(IFWL_Widget* pListener, |
59 IFWL_Widget* pEventSource = NULL, | 57 IFWL_Widget* pEventSource = NULL, |
60 uint32_t dwFilter = FWL_EVENT_ALL_MASK) override; | 58 uint32_t dwFilter = FWL_EVENT_ALL_MASK) override; |
61 FWL_ERR UnregisterEventTarget(IFWL_Widget* pListener) override; | 59 FWL_ERR UnregisterEventTarget(IFWL_Widget* pListener) override; |
62 void ClearEventTargets(FX_BOOL bRemoveAll) override; | 60 void ClearEventTargets(FX_BOOL bRemoveAll) override; |
63 int32_t GetQueueMaxSize() const override; | |
64 FWL_ERR SetQueueMaxSize(const int32_t size) override; | |
65 IFWL_NoteThread* GetOwnerThread() const override; | 61 IFWL_NoteThread* GetOwnerThread() const override; |
66 FWL_ERR PushNoteLoop(IFWL_NoteLoop* pNoteLoop) override; | 62 FWL_ERR PushNoteLoop(IFWL_NoteLoop* pNoteLoop) override; |
67 IFWL_NoteLoop* PopNoteLoop() override; | 63 IFWL_NoteLoop* PopNoteLoop() override; |
68 IFWL_Widget* GetFocus() override; | 64 IFWL_Widget* GetFocus() override; |
69 FX_BOOL SetFocus(IFWL_Widget* pFocus, FX_BOOL bNotify = FALSE) override; | 65 FX_BOOL SetFocus(IFWL_Widget* pFocus, FX_BOOL bNotify = FALSE) override; |
70 void SetGrab(IFWL_Widget* pGrab, FX_BOOL bSet) override; | 66 void SetGrab(IFWL_Widget* pGrab, FX_BOOL bSet) override; |
71 FWL_ERR Run() override; | 67 FWL_ERR Run() override; |
72 | 68 |
73 IFWL_Widget* GetHover(); | 69 IFWL_Widget* GetHover(); |
74 void SetHover(IFWL_Widget* pHover); | 70 void SetHover(IFWL_Widget* pHover); |
75 void NotifyTargetHide(IFWL_Widget* pNoteTarget); | 71 void NotifyTargetHide(IFWL_Widget* pNoteTarget); |
76 void NotifyTargetDestroy(IFWL_Widget* pNoteTarget); | 72 void NotifyTargetDestroy(IFWL_Widget* pNoteTarget); |
77 void NotifyFullScreenMode(IFWL_Widget* pNoteTarget, FX_BOOL bFullScreen); | 73 void NotifyFullScreenMode(IFWL_Widget* pNoteTarget, FX_BOOL bFullScreen); |
78 FWL_ERR RegisterForm(CFWL_WidgetImp* pForm); | 74 FWL_ERR RegisterForm(CFWL_WidgetImp* pForm); |
79 FWL_ERR UnRegisterForm(CFWL_WidgetImp* pForm); | 75 FWL_ERR UnRegisterForm(CFWL_WidgetImp* pForm); |
80 FX_BOOL QueueMessage(CFWL_Message* pMessage); | 76 FX_BOOL QueueMessage(CFWL_Message* pMessage); |
81 FX_BOOL UnqueueMessage(CFWL_NoteLoop* pNoteLoop); | 77 FX_BOOL UnqueueMessage(CFWL_NoteLoop* pNoteLoop); |
82 CFWL_NoteLoop* GetTopLoop(); | 78 CFWL_NoteLoop* GetTopLoop(); |
83 int32_t CountLoop(); | 79 int32_t CountLoop(); |
84 void SetHook(FWLMessageHookCallback callback, void* info); | |
85 FX_BOOL ProcessMessage(CFWL_Message* pMessage); | 80 FX_BOOL ProcessMessage(CFWL_Message* pMessage); |
86 | 81 |
87 protected: | 82 protected: |
88 FX_BOOL DispatchMessage(CFWL_Message* pMessage, IFWL_Widget* pMessageForm); | 83 FX_BOOL DispatchMessage(CFWL_Message* pMessage, IFWL_Widget* pMessageForm); |
89 FX_BOOL DoActivate(CFWL_MsgActivate* pMsg, IFWL_Widget* pMessageForm); | 84 FX_BOOL DoActivate(CFWL_MsgActivate* pMsg, IFWL_Widget* pMessageForm); |
90 FX_BOOL DoDeactivate(CFWL_MsgDeactivate* pMsg, IFWL_Widget* pMessageForm); | 85 FX_BOOL DoDeactivate(CFWL_MsgDeactivate* pMsg, IFWL_Widget* pMessageForm); |
91 FX_BOOL DoSetFocus(CFWL_MsgSetFocus* pMsg, IFWL_Widget* pMessageForm); | 86 FX_BOOL DoSetFocus(CFWL_MsgSetFocus* pMsg, IFWL_Widget* pMessageForm); |
92 FX_BOOL DoKillFocus(CFWL_MsgKillFocus* pMsg, IFWL_Widget* pMessageForm); | 87 FX_BOOL DoKillFocus(CFWL_MsgKillFocus* pMsg, IFWL_Widget* pMessageForm); |
93 FX_BOOL DoKey(CFWL_MsgKey* pMsg, IFWL_Widget* pMessageForm); | 88 FX_BOOL DoKey(CFWL_MsgKey* pMsg, IFWL_Widget* pMessageForm); |
94 FX_BOOL DoMouse(CFWL_MsgMouse* pMsg, IFWL_Widget* pMessageForm); | 89 FX_BOOL DoMouse(CFWL_MsgMouse* pMsg, IFWL_Widget* pMessageForm); |
95 FX_BOOL DoWheel(CFWL_MsgMouseWheel* pMsg, IFWL_Widget* pMessageForm); | 90 FX_BOOL DoWheel(CFWL_MsgMouseWheel* pMsg, IFWL_Widget* pMessageForm); |
96 FX_BOOL DoSize(CFWL_MsgSize* pMsg); | 91 FX_BOOL DoSize(CFWL_MsgSize* pMsg); |
97 FX_BOOL DoWindowMove(CFWL_MsgWindowMove* pMsg, IFWL_Widget* pMessageForm); | 92 FX_BOOL DoWindowMove(CFWL_MsgWindowMove* pMsg, IFWL_Widget* pMessageForm); |
98 FX_BOOL DoDragFiles(CFWL_MsgDropFiles* pMsg, IFWL_Widget* pMessageForm); | 93 FX_BOOL DoDragFiles(CFWL_MsgDropFiles* pMsg, IFWL_Widget* pMessageForm); |
99 FX_BOOL DoMouseEx(CFWL_MsgMouse* pMsg, IFWL_Widget* pMessageForm); | 94 FX_BOOL DoMouseEx(CFWL_MsgMouse* pMsg, IFWL_Widget* pMessageForm); |
100 void MouseSecondary(CFWL_MsgMouse* pMsg); | 95 void MouseSecondary(CFWL_MsgMouse* pMsg); |
101 FX_BOOL IsValidMessage(CFWL_Message* pMessage); | 96 FX_BOOL IsValidMessage(CFWL_Message* pMessage); |
102 IFWL_Widget* GetMessageForm(IFWL_Widget* pDstTarget); | 97 IFWL_Widget* GetMessageForm(IFWL_Widget* pDstTarget); |
103 void ClearInvalidEventTargets(FX_BOOL bRemoveAll); | 98 void ClearInvalidEventTargets(FX_BOOL bRemoveAll); |
104 CFX_PtrArray m_forms; | 99 CFX_PtrArray m_forms; |
105 CFX_PtrArray m_noteQueue; | 100 CFX_PtrArray m_noteQueue; |
106 CFX_PtrArray m_noteLoopQueue; | 101 CFX_PtrArray m_noteLoopQueue; |
107 CFX_MapPtrToPtr m_eventTargets; | 102 CFX_MapPtrToPtr m_eventTargets; |
108 int32_t m_sendEventCalled; | 103 int32_t m_sendEventCalled; |
109 int32_t m_maxSize; | |
110 FX_BOOL m_bFullScreen; | 104 FX_BOOL m_bFullScreen; |
111 IFWL_Widget* m_pHover; | 105 IFWL_Widget* m_pHover; |
112 IFWL_Widget* m_pFocus; | 106 IFWL_Widget* m_pFocus; |
113 IFWL_Widget* m_pGrab; | 107 IFWL_Widget* m_pGrab; |
114 CFWL_NoteLoop* m_pNoteLoop; | 108 CFWL_NoteLoop* m_pNoteLoop; |
115 FWLMessageHookCallback m_hook; | |
116 void* m_hookInfo; | |
117 }; | 109 }; |
118 | 110 |
119 typedef CFX_MapPtrTemplate<void*, uint32_t> CFWL_EventSource; | 111 typedef CFX_MapPtrTemplate<void*, uint32_t> CFWL_EventSource; |
120 | 112 |
121 class CFWL_EventTarget { | 113 class CFWL_EventTarget { |
122 public: | 114 public: |
123 CFWL_EventTarget(CFWL_NoteDriver* pNoteDriver, IFWL_Widget* pListener) | 115 CFWL_EventTarget(CFWL_NoteDriver* pNoteDriver, IFWL_Widget* pListener) |
124 : m_pListener(pListener), m_pNoteDriver(pNoteDriver), m_bInvalid(FALSE) {} | 116 : m_pListener(pListener), m_pNoteDriver(pNoteDriver), m_bInvalid(FALSE) {} |
125 ~CFWL_EventTarget(); | 117 ~CFWL_EventTarget(); |
126 int32_t SetEventSource(IFWL_Widget* pSource, | 118 int32_t SetEventSource(IFWL_Widget* pSource, |
(...skipping 17 matching lines...) Expand all Loading... | |
144 | 136 |
145 FX_ERR AddToolTipTarget(IFWL_ToolTipTarget* pTarget); | 137 FX_ERR AddToolTipTarget(IFWL_ToolTipTarget* pTarget); |
146 FX_ERR RemoveToolTipTarget(IFWL_ToolTipTarget* pTarget); | 138 FX_ERR RemoveToolTipTarget(IFWL_ToolTipTarget* pTarget); |
147 IFWL_ToolTipTarget* GetCurrentToolTipTarget(); | 139 IFWL_ToolTipTarget* GetCurrentToolTipTarget(); |
148 | 140 |
149 FX_BOOL HasToolTip(IFWL_Widget* pWidget); | 141 FX_BOOL HasToolTip(IFWL_Widget* pWidget); |
150 | 142 |
151 FX_BOOL ProcessEnter(CFWL_EvtMouse* pEvt, IFWL_Widget* pOwner); | 143 FX_BOOL ProcessEnter(CFWL_EvtMouse* pEvt, IFWL_Widget* pOwner); |
152 FX_BOOL ProcessLeave(CFWL_EvtMouse* pEvt); | 144 FX_BOOL ProcessLeave(CFWL_EvtMouse* pEvt); |
153 | 145 |
154 FX_ERR SetToolTipInitialDelay(int32_t iDelayTime); | |
155 FX_ERR SetToolTipAutoPopDelay(int32_t iDelayTime); | |
156 | |
157 protected: | 146 protected: |
158 CFWL_ToolTipContainer(); | 147 CFWL_ToolTipContainer(); |
159 virtual ~CFWL_ToolTipContainer(); | 148 virtual ~CFWL_ToolTipContainer(); |
160 | 149 |
161 IFWL_ToolTipTarget* pCurTarget; | 150 IFWL_ToolTipTarget* pCurTarget; |
162 CFWL_ToolTipImp* m_pToolTipImp; | 151 CFWL_ToolTipImp* m_pToolTipImp; |
163 CFWL_CoreToolTipDP* m_ToolTipDp; | 152 CFWL_CoreToolTipDP* m_ToolTipDp; |
164 CFX_PtrArray m_arrWidget; | 153 CFX_PtrArray m_arrWidget; |
165 | 154 |
166 private: | 155 private: |
167 static CFWL_ToolTipContainer* s_pInstance; | 156 static CFWL_ToolTipContainer* s_pInstance; |
168 }; | 157 }; |
169 | 158 |
170 #endif // XFA_FWL_CORE_FWL_NOTEIMP_H_ | 159 #endif // XFA_FWL_CORE_FWL_NOTEIMP_H_ |
OLD | NEW |