| OLD | NEW |
| (Empty) |
| 1 // Copyright 2014 PDFium Authors. All rights reserved. | |
| 2 // Use of this source code is governed by a BSD-style license that can be | |
| 3 // found in the LICENSE file. | |
| 4 | |
| 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | |
| 6 | |
| 7 #ifndef XFA_INCLUDE_FWL_CORE_FWL_NOTE_H_ | |
| 8 #define XFA_INCLUDE_FWL_CORE_FWL_NOTE_H_ | |
| 9 | |
| 10 #include "core/fxcrt/include/fx_coordinates.h" | |
| 11 #include "xfa/fxgraphics/include/cfx_graphics.h" | |
| 12 #include "xfa/include/fwl/core/fwl_error.h" | |
| 13 | |
| 14 class IFWL_Widget; | |
| 15 class IFWL_NoteThread; | |
| 16 class CFWL_Note; | |
| 17 class CFWL_Message; | |
| 18 class CFWL_MsgActivate; | |
| 19 class CFWL_MsgDeactivate; | |
| 20 class CFWL_MsgMouse; | |
| 21 class CFWL_MsgMouseWheel; | |
| 22 class CFWL_MsgKey; | |
| 23 class CFWL_MsgSetFocus; | |
| 24 class CFWL_MsgKillFocus; | |
| 25 class CFWL_MsgCursor; | |
| 26 class CFWL_MsgSize; | |
| 27 class CFWL_MsgWindowMove; | |
| 28 class CFWL_MsgDropFiles; | |
| 29 class CFWL_MsgTaskClicked; | |
| 30 class CFWL_MsgClose; | |
| 31 class CFWL_MsgWindowWillMove; | |
| 32 class CFWL_Event; | |
| 33 class CFWL_EvtMouse; | |
| 34 class CFWL_EvtMouseWheel; | |
| 35 class CFWL_EvtKey; | |
| 36 class CFWL_EvtSetFocus; | |
| 37 class CFWL_EvtKillFocus; | |
| 38 class CFWL_EvtDraw; | |
| 39 class CFWL_EvtClick; | |
| 40 class CFWL_EvtScroll; | |
| 41 class CFWL_EvtClose; | |
| 42 class CFWL_EvtContextMenu; | |
| 43 class CFWL_EvtMenuCommand; | |
| 44 class CFWL_EvtSizeChanged; | |
| 45 class CFWL_EvtIdle; | |
| 46 class IFWL_NoteDriver; | |
| 47 class IFWL_NoteLoop; | |
| 48 | |
| 49 #define FWL_MSG_Activate L"FWL_MESSAGE_Activate" | |
| 50 #define FWL_MSG_Deactivate L"FWL_MESSAGE_Deactivate" | |
| 51 #define FWL_MSG_SetFocus L"FWL_MESSAGE_SetFocus" | |
| 52 #define FWL_MSG_KillFocus L"FWL_MESSAGE_KillFocus" | |
| 53 #define FWL_MSG_Mouse L"FWL_MESSAGE_Mouse" | |
| 54 #define FWL_MSG_MouseWheel L"FWL_MESSAGE_MouseWheel" | |
| 55 #define FWL_MSG_Key L"FWL_MESSAGE_Key" | |
| 56 #define FWL_MSG_Cursor L"FWL_MESSAGE_Cursor" | |
| 57 #define FWL_MSG_Size L"FWL_MESSAGE_Size" | |
| 58 #define FWL_MSG_WindowMove L"FWL_MESSAGE_WindowMove" | |
| 59 #define FWL_MSG_DropFiles L"FWL_MESSAGE_DropFiles" | |
| 60 #define FWL_MSG_TaskClicked L"FWL_MESSAGE_TaskClicked" | |
| 61 #define FWL_MSG_Close L"FWL_MESSAGE_Close" | |
| 62 #define FWL_MSG_Post L"FWL_MESSAGE_Post" | |
| 63 #define FWL_MSG_WindowWillMove L"FWL_MESSAGE_WindowWillMove" | |
| 64 #define FWL_MSGHASH_Activate 2410369469 | |
| 65 #define FWL_MSGHASH_Deactivate 1184214790 | |
| 66 #define FWL_MSGHASH_SetFocus 4174512504 | |
| 67 #define FWL_MSGHASH_KillFocus 1557903832 | |
| 68 #define FWL_MSGHASH_Mouse 706128309 | |
| 69 #define FWL_MSGHASH_MouseWheel 893703466 | |
| 70 #define FWL_MSGHASH_Key 3751372405 | |
| 71 #define FWL_MSGHASH_Cursor 3182626218 | |
| 72 #define FWL_MSGHASH_Size 160077735 | |
| 73 #define FWL_MSGHASH_WindowMove 1032269377 | |
| 74 #define FWL_MSGHASH_DropFiles 2004165236 | |
| 75 #define FWL_MSGHASH_TaskClicked 3128231086 | |
| 76 #define FWL_MSGHASH_Close 2977563906 | |
| 77 #define FWL_MSGHASH_Post 1969633074 | |
| 78 #define FWL_MSGHASH_WindowWillMove 2229175763 | |
| 79 #define FWL_EVT_Mouse L"FWL_EVENT_Mouse" | |
| 80 #define FWL_EVT_MouseWheel L"FWL_EVENT_MouseWheel" | |
| 81 #define FWL_EVT_Key L"FWL_EVENT_Key" | |
| 82 #define FWL_EVT_SetFocus L"FWL_EVENT_SetFocus" | |
| 83 #define FWL_EVT_KillFocus L"FWL_EVENT_KillFocus" | |
| 84 #define FWL_EVT_Click L"FWL_EVENT_Click" | |
| 85 #define FWL_EVT_Draw L"FWL_EVENT_Draw" | |
| 86 #define FWL_EVT_Scroll L"FWL_EVENT_Scroll" | |
| 87 #define FWL_EVT_Close L"FWL_EVENT_Close" | |
| 88 #define FWL_EVT_ContextMenu L"FWL_EVENT_ContextMenu" | |
| 89 #define FWL_EVT_MenuCommand L"FWL_EVENT_MenuCommand" | |
| 90 #define FWL_EVT_SizeChanged L"FWL_EVENT_SizeChanged" | |
| 91 #define FWL_EVTHASH_Mouse 1765258002 | |
| 92 #define FWL_EVTHASH_MouseWheel 3907114407 | |
| 93 #define FWL_EVTHASH_Key 2408354450 | |
| 94 #define FWL_EVTHASH_SetFocus 3909721269 | |
| 95 #define FWL_EVTHASH_KillFocus 1779363253 | |
| 96 #define FWL_EVTHASH_Draw 2430713303 | |
| 97 #define FWL_EVTHASH_Click 4026328783 | |
| 98 #define FWL_EVTHASH_Scroll 2965158968 | |
| 99 #define FWL_EVTHASH_Close 4036693599 | |
| 100 #define FWL_EVTHASH_ContextMenu 2717307715 | |
| 101 #define FWL_EVTHASH_MenuCommand 497763741 | |
| 102 #define FWL_EVTHASH_SizeChanged 3083958510 | |
| 103 #define FWL_EVTHASH_Idle 839546759 | |
| 104 #define FWL_MSGMOUSECMD_LButtonDown 1 | |
| 105 #define FWL_MSGMOUSECMD_LButtonUp 2 | |
| 106 #define FWL_MSGMOUSECMD_LButtonDblClk 3 | |
| 107 #define FWL_MSGMOUSECMD_RButtonDown 4 | |
| 108 #define FWL_MSGMOUSECMD_RButtonUp 5 | |
| 109 #define FWL_MSGMOUSECMD_RButtonDblClk 6 | |
| 110 #define FWL_MSGMOUSECMD_MButtonDown 7 | |
| 111 #define FWL_MSGMOUSECMD_MButtonUp 8 | |
| 112 #define FWL_MSGMOUSECMD_MButtonDblClk 9 | |
| 113 #define FWL_MSGMOUSECMD_MouseMove 10 | |
| 114 #define FWL_MSGMOUSECMD_MouseEnter 11 | |
| 115 #define FWL_MSGMOUSECMD_MouseLeave 12 | |
| 116 #define FWL_MSGMOUSECMD_MouseHover 13 | |
| 117 #define FWL_MSGKEYCMD_KeyDown 1 | |
| 118 #define FWL_MSGKEYCMD_KeyUp 2 | |
| 119 #define FWL_MSGKEYCMD_Char 3 | |
| 120 #define FWL_KEYFLAG_Ctrl (1 << 0) | |
| 121 #define FWL_KEYFLAG_Alt (1 << 1) | |
| 122 #define FWL_KEYFLAG_Shift (1 << 2) | |
| 123 #define FWL_KEYFLAG_Command (1 << 3) | |
| 124 #define FWL_KEYFLAG_LButton (1 << 4) | |
| 125 #define FWL_KEYFLAG_RButton (1 << 5) | |
| 126 #define FWL_KEYFLAG_MButton (1 << 6) | |
| 127 | |
| 128 // Separate hierarchy not related to IFWL_* hierarchy. These should not | |
| 129 // get cast to IFWL_* types. | |
| 130 class CFWL_Note { | |
| 131 public: | |
| 132 virtual FX_DWORD Release() { | |
| 133 m_dwRefCount--; | |
| 134 FX_DWORD dwRefCount = m_dwRefCount; | |
| 135 if (!m_dwRefCount) { | |
| 136 delete this; | |
| 137 } | |
| 138 return dwRefCount; | |
| 139 } | |
| 140 virtual CFWL_Note* Retain() { | |
| 141 m_dwRefCount++; | |
| 142 return this; | |
| 143 } | |
| 144 virtual FWL_ERR GetClassName(CFX_WideString& wsClass) const { | |
| 145 wsClass = L"CFWL_Note"; | |
| 146 return FWL_ERR_Succeeded; | |
| 147 } | |
| 148 virtual FX_DWORD GetClassID() const { return 0; } | |
| 149 virtual FX_BOOL IsInstance(const CFX_WideStringC& wsClass) const { | |
| 150 return TRUE; | |
| 151 } | |
| 152 virtual CFWL_Note* Clone() { return NULL; } | |
| 153 FX_BOOL IsEvent() const { return m_bIsEvent; } | |
| 154 IFWL_Widget* m_pSrcTarget; | |
| 155 IFWL_Widget* m_pDstTarget; | |
| 156 | |
| 157 protected: | |
| 158 CFWL_Note(FX_BOOL bIsEvent) | |
| 159 : m_pSrcTarget(NULL), | |
| 160 m_pDstTarget(NULL), | |
| 161 m_dwRefCount(1), | |
| 162 m_bIsEvent(bIsEvent), | |
| 163 m_dwExtend(0) {} | |
| 164 virtual ~CFWL_Note() {} | |
| 165 virtual FX_BOOL Initialize() { return TRUE; } | |
| 166 virtual int32_t Finalize() { return 0; } | |
| 167 FX_DWORD m_dwRefCount; | |
| 168 FX_BOOL m_bIsEvent; | |
| 169 | |
| 170 public: | |
| 171 FX_DWORD m_dwExtend; | |
| 172 }; | |
| 173 class CFWL_Message : public CFWL_Note { | |
| 174 public: | |
| 175 CFWL_Message() : CFWL_Note(FALSE) {} | |
| 176 virtual ~CFWL_Message() {} | |
| 177 }; | |
| 178 #define BEGIN_FWL_MESSAGE_DEF(classname, msghashcode) \ | |
| 179 class classname : public CFWL_Message { \ | |
| 180 public: \ | |
| 181 classname() : CFWL_Message() {} \ | |
| 182 virtual CFWL_Note* Clone() { return new classname(*this); } \ | |
| 183 virtual FWL_ERR GetClassName(CFX_WideString& wsClass) const { \ | |
| 184 wsClass = L## #classname; \ | |
| 185 return FWL_ERR_Succeeded; \ | |
| 186 } \ | |
| 187 virtual FX_DWORD GetClassID() const { return msghashcode; } | |
| 188 #define END_FWL_MESSAGE_DEF \ | |
| 189 } \ | |
| 190 ; // NOLINT | |
| 191 BEGIN_FWL_MESSAGE_DEF(CFWL_MsgActivate, FWL_MSGHASH_Activate) | |
| 192 END_FWL_MESSAGE_DEF | |
| 193 BEGIN_FWL_MESSAGE_DEF(CFWL_MsgDeactivate, FWL_MSGHASH_Deactivate) | |
| 194 END_FWL_MESSAGE_DEF | |
| 195 BEGIN_FWL_MESSAGE_DEF(CFWL_MsgMouse, FWL_MSGHASH_Mouse) | |
| 196 FX_FLOAT m_fx; | |
| 197 FX_FLOAT m_fy; | |
| 198 FX_DWORD m_dwFlags; | |
| 199 FX_DWORD m_dwCmd; | |
| 200 END_FWL_MESSAGE_DEF | |
| 201 BEGIN_FWL_MESSAGE_DEF(CFWL_MsgMouseWheel, FWL_MSGHASH_MouseWheel) | |
| 202 FX_FLOAT m_fx; | |
| 203 FX_FLOAT m_fy; | |
| 204 FX_FLOAT m_fDeltaX; | |
| 205 FX_FLOAT m_fDeltaY; | |
| 206 FX_DWORD m_dwFlags; | |
| 207 END_FWL_MESSAGE_DEF | |
| 208 BEGIN_FWL_MESSAGE_DEF(CFWL_MsgSetFocus, FWL_MSGHASH_SetFocus) | |
| 209 IFWL_Widget* m_pKillFocus; | |
| 210 END_FWL_MESSAGE_DEF | |
| 211 BEGIN_FWL_MESSAGE_DEF(CFWL_MsgKillFocus, FWL_MSGHASH_KillFocus) | |
| 212 IFWL_Widget* m_pSetFocus; | |
| 213 END_FWL_MESSAGE_DEF | |
| 214 BEGIN_FWL_MESSAGE_DEF(CFWL_MsgKey, FWL_MSGHASH_Key) | |
| 215 FX_DWORD m_dwKeyCode; | |
| 216 FX_DWORD m_dwFlags; | |
| 217 FX_DWORD m_dwCmd; | |
| 218 END_FWL_MESSAGE_DEF | |
| 219 BEGIN_FWL_MESSAGE_DEF(CFWL_MsgCursor, FWL_MSGHASH_Cursor) | |
| 220 END_FWL_MESSAGE_DEF | |
| 221 BEGIN_FWL_MESSAGE_DEF(CFWL_MsgSize, FWL_MSGHASH_Size) | |
| 222 int32_t m_iWidth; | |
| 223 int32_t m_iHeight; | |
| 224 END_FWL_MESSAGE_DEF | |
| 225 BEGIN_FWL_MESSAGE_DEF(CFWL_MsgWindowMove, FWL_MSGHASH_WindowMove) | |
| 226 FX_FLOAT m_fx; | |
| 227 FX_FLOAT m_fy; | |
| 228 END_FWL_MESSAGE_DEF | |
| 229 BEGIN_FWL_MESSAGE_DEF(CFWL_MsgDropFiles, FWL_MSGHASH_DropFiles) | |
| 230 CFWL_MsgDropFiles(const CFWL_MsgDropFiles& copy) { | |
| 231 m_pDstTarget = copy.m_pDstTarget; | |
| 232 m_pSrcTarget = copy.m_pSrcTarget; | |
| 233 m_fx = copy.m_fx; | |
| 234 m_fy = copy.m_fy; | |
| 235 m_files.Append(copy.m_files); | |
| 236 } | |
| 237 FX_FLOAT m_fx; | |
| 238 FX_FLOAT m_fy; | |
| 239 CFX_WideStringArray m_files; | |
| 240 END_FWL_MESSAGE_DEF | |
| 241 BEGIN_FWL_MESSAGE_DEF(CFWL_MsgTaskClicked, FWL_MSGHASH_TaskClicked) | |
| 242 FX_FLOAT m_fx; | |
| 243 FX_FLOAT m_fy; | |
| 244 END_FWL_MESSAGE_DEF | |
| 245 BEGIN_FWL_MESSAGE_DEF(CFWL_MsgClose, FWL_MSGHASH_Close) | |
| 246 END_FWL_MESSAGE_DEF | |
| 247 BEGIN_FWL_MESSAGE_DEF(CFWL_MsgWindowWillMove, FWL_MSGHASH_WindowWillMove) | |
| 248 END_FWL_MESSAGE_DEF | |
| 249 class CFWL_Event : public CFWL_Note { | |
| 250 public: | |
| 251 CFWL_Event() : CFWL_Note(TRUE) {} | |
| 252 virtual ~CFWL_Event() {} | |
| 253 }; | |
| 254 #define BEGIN_FWL_EVENT_DEF(classname, eventhashcode) \ | |
| 255 class classname : public CFWL_Event { \ | |
| 256 public: \ | |
| 257 classname() : CFWL_Event() {} \ | |
| 258 virtual FWL_ERR GetClassName(CFX_WideString& wsClass) const { \ | |
| 259 wsClass = L## #classname; \ | |
| 260 return FWL_ERR_Succeeded; \ | |
| 261 } \ | |
| 262 virtual FX_DWORD GetClassID() const { return eventhashcode; } | |
| 263 #define END_FWL_EVENT_DEF \ | |
| 264 } \ | |
| 265 ; // NOLINT | |
| 266 BEGIN_FWL_EVENT_DEF(CFWL_EvtMouse, FWL_EVTHASH_Mouse) | |
| 267 FX_FLOAT m_fx; | |
| 268 FX_FLOAT m_fy; | |
| 269 FX_DWORD m_dwFlags; | |
| 270 FX_DWORD m_dwCmd; | |
| 271 END_FWL_EVENT_DEF | |
| 272 BEGIN_FWL_EVENT_DEF(CFWL_EvtMouseWheel, FWL_EVTHASH_MouseWheel) | |
| 273 FX_FLOAT m_fx; | |
| 274 FX_FLOAT m_fy; | |
| 275 FX_FLOAT m_fDeltaX; | |
| 276 FX_FLOAT m_fDeltaY; | |
| 277 FX_DWORD m_dwFlags; | |
| 278 END_FWL_EVENT_DEF | |
| 279 BEGIN_FWL_EVENT_DEF(CFWL_EvtKey, FWL_EVTHASH_Key) | |
| 280 FX_DWORD m_dwKeyCode; | |
| 281 FX_DWORD m_dwFlags; | |
| 282 FX_DWORD m_dwCmd; | |
| 283 END_FWL_EVENT_DEF | |
| 284 BEGIN_FWL_EVENT_DEF(CFWL_EvtSetFocus, FWL_EVTHASH_SetFocus) | |
| 285 IFWL_Widget* m_pSetFocus; | |
| 286 END_FWL_EVENT_DEF | |
| 287 BEGIN_FWL_EVENT_DEF(CFWL_EvtKillFocus, FWL_EVTHASH_KillFocus) | |
| 288 IFWL_Widget* m_pKillFocus; | |
| 289 END_FWL_EVENT_DEF | |
| 290 BEGIN_FWL_EVENT_DEF(CFWL_EvtDraw, FWL_EVTHASH_Draw) | |
| 291 CFX_Graphics* m_pGraphics; | |
| 292 IFWL_Widget* m_pWidget; | |
| 293 END_FWL_EVENT_DEF | |
| 294 BEGIN_FWL_EVENT_DEF(CFWL_EvtClick, FWL_EVTHASH_Click) | |
| 295 END_FWL_EVENT_DEF | |
| 296 BEGIN_FWL_EVENT_DEF(CFWL_EvtScroll, FWL_EVTHASH_Scroll) | |
| 297 FX_DWORD m_iScrollCode; | |
| 298 FX_FLOAT m_fPos; | |
| 299 FX_BOOL* m_pRet; | |
| 300 END_FWL_EVENT_DEF | |
| 301 BEGIN_FWL_EVENT_DEF(CFWL_EvtClose, FWL_EVTHASH_Close) | |
| 302 END_FWL_EVENT_DEF | |
| 303 BEGIN_FWL_EVENT_DEF(CFWL_EvtContextMenu, FWL_EVTHASH_ContextMenu) | |
| 304 FX_FLOAT m_fPosX; | |
| 305 FX_FLOAT m_fPosY; | |
| 306 IFWL_Widget* m_pOwner; | |
| 307 END_FWL_EVENT_DEF | |
| 308 BEGIN_FWL_EVENT_DEF(CFWL_EvtMenuCommand, FWL_EVTHASH_MenuCommand) | |
| 309 int32_t m_iCommand; | |
| 310 void* m_pData; | |
| 311 END_FWL_EVENT_DEF | |
| 312 BEGIN_FWL_EVENT_DEF(CFWL_EvtSizeChanged, FWL_EVTHASH_SizeChanged) | |
| 313 IFWL_Widget* m_pWidget; | |
| 314 CFX_RectF m_rtOld; | |
| 315 CFX_RectF m_rtNew; | |
| 316 END_FWL_MESSAGE_DEF | |
| 317 BEGIN_FWL_EVENT_DEF(CFWL_EvtIdle, FWL_EVTHASH_Idle) | |
| 318 END_FWL_EVENT_DEF | |
| 319 typedef enum { | |
| 320 FWL_EVENT_MOUSE_MASK = 1 << 0, | |
| 321 FWL_EVENT_MOUSEWHEEL_MASK = 1 << 1, | |
| 322 FWL_EVENT_KEY_MASK = 1 << 2, | |
| 323 FWL_EVENT_FOCUSCHANGED_MASK = 1 << 3, | |
| 324 FWL_EVENT_DRAW_MASK = 1 << 4, | |
| 325 FWL_EVENT_CLOSE_MASK = 1 << 5, | |
| 326 FWL_EVENT_SIZECHANGED_MASK = 1 << 6, | |
| 327 FWL_EVENT_IDLE_MASK = 1 << 7, | |
| 328 FWL_EVENT_CONTROL_MASK = 1 << 8, | |
| 329 FWL_EVENT_ALL_MASK = 0xFF | |
| 330 } FWLEventMask; | |
| 331 class IFWL_NoteDriver { | |
| 332 public: | |
| 333 virtual ~IFWL_NoteDriver() {} | |
| 334 virtual FX_BOOL SendNote(CFWL_Note* pNote) = 0; | |
| 335 virtual FX_BOOL PostMessage(CFWL_Message* pMessage) = 0; | |
| 336 virtual FWL_ERR RegisterEventTarget( | |
| 337 IFWL_Widget* pListener, | |
| 338 IFWL_Widget* pEventSource = NULL, | |
| 339 FX_DWORD dwFilter = FWL_EVENT_ALL_MASK) = 0; | |
| 340 virtual FWL_ERR UnregisterEventTarget(IFWL_Widget* pListener) = 0; | |
| 341 virtual void ClearEventTargets(FX_BOOL bRemoveAll) = 0; | |
| 342 virtual int32_t GetQueueMaxSize() const = 0; | |
| 343 virtual FWL_ERR SetQueueMaxSize(const int32_t size) = 0; | |
| 344 virtual IFWL_NoteThread* GetOwnerThread() const = 0; | |
| 345 virtual FWL_ERR PushNoteLoop(IFWL_NoteLoop* pNoteLoop) = 0; | |
| 346 virtual IFWL_NoteLoop* PopNoteLoop() = 0; | |
| 347 virtual IFWL_Widget* GetFocus() = 0; | |
| 348 virtual FX_BOOL SetFocus(IFWL_Widget* pFocus, FX_BOOL bNotify = FALSE) = 0; | |
| 349 virtual void SetGrab(IFWL_Widget* pGrab, FX_BOOL bSet) = 0; | |
| 350 virtual FWL_ERR Run() = 0; | |
| 351 }; | |
| 352 IFWL_Widget* FWL_GetCurrentThreadModalWidget(IFWL_NoteThread* pNoteThread); | |
| 353 class IFWL_NoteLoop { | |
| 354 public: | |
| 355 virtual ~IFWL_NoteLoop() {} | |
| 356 virtual FX_BOOL PreProcessMessage(CFWL_Message* pMessage) = 0; | |
| 357 virtual FWL_ERR Idle(int32_t count) = 0; | |
| 358 }; | |
| 359 class IFWL_ToolTipTarget { | |
| 360 public: | |
| 361 virtual ~IFWL_ToolTipTarget() {} | |
| 362 virtual IFWL_Widget* GetWidget() = 0; | |
| 363 virtual FX_BOOL IsShowed() = 0; | |
| 364 virtual FWL_ERR DrawToolTip(CFX_Graphics* pGraphics, | |
| 365 const CFX_Matrix* pMatrix, | |
| 366 IFWL_Widget* pToolTip) = 0; | |
| 367 virtual FX_BOOL UseDefaultTheme() = 0; | |
| 368 virtual FWL_ERR GetCaption(CFX_WideString& wsCaption) = 0; | |
| 369 virtual FWL_ERR GetToolTipSize(CFX_SizeF& sz) = 0; | |
| 370 virtual FWL_ERR GetToolTipPos(CFX_PointF& pt) { return FWL_ERR_Indefinite; } | |
| 371 }; | |
| 372 FWL_ERR FWL_AddToolTipTarget(IFWL_ToolTipTarget* pTarget); | |
| 373 FWL_ERR FWL_RemoveToolTipTarget(IFWL_ToolTipTarget* pTarget); | |
| 374 FWL_ERR FWL_SetToolTipInitialDelay(int32_t iDelayTime); | |
| 375 FWL_ERR FWL_SetToolTipAutoPopDelay(int32_t iDelayTime); | |
| 376 typedef FX_BOOL (*FWLMessageHookCallback)(CFWL_Message* msg, void* info); | |
| 377 FWL_ERR FWL_SetHook(IFWL_NoteDriver* driver, | |
| 378 FWLMessageHookCallback callback, | |
| 379 void* info); | |
| 380 | |
| 381 #endif // XFA_INCLUDE_FWL_CORE_FWL_NOTE_H_ | |
| OLD | NEW |