Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(273)

Side by Side Diff: xfa/fwl/core/fwl_noteimp.cpp

Issue 1901183002: Remove CFWL_Note. (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 #include "xfa/fwl/core/fwl_noteimp.h" 7 #include "xfa/fwl/core/fwl_noteimp.h"
8 8
9 #include "core/fxcrt/include/fx_ext.h" 9 #include "core/fxcrt/include/fx_ext.h"
10 #include "xfa/fwl/basewidget/fwl_tooltipctrlimp.h" 10 #include "xfa/fwl/basewidget/fwl_tooltipctrlimp.h"
(...skipping 16 matching lines...) Expand all
27 #if (_FX_OS_ == _FX_WIN32_DESKTOP_) 27 #if (_FX_OS_ == _FX_WIN32_DESKTOP_)
28 if (count <= 0) { 28 if (count <= 0) {
29 #endif 29 #endif
30 CFWL_EvtIdle ev; 30 CFWL_EvtIdle ev;
31 IFWL_App* pApp = FWL_GetApp(); 31 IFWL_App* pApp = FWL_GetApp();
32 if (!pApp) 32 if (!pApp)
33 return FWL_ERR_Indefinite; 33 return FWL_ERR_Indefinite;
34 IFWL_NoteDriver* pDriver = pApp->GetNoteDriver(); 34 IFWL_NoteDriver* pDriver = pApp->GetNoteDriver();
35 if (!pDriver) 35 if (!pDriver)
36 return FWL_ERR_Indefinite; 36 return FWL_ERR_Indefinite;
37 pDriver->SendNote(&ev); 37 pDriver->SendEvent(&ev);
38 #if (_FX_OS_ == _FX_WIN32_DESKTOP_) 38 #if (_FX_OS_ == _FX_WIN32_DESKTOP_)
39 } 39 }
40 #endif 40 #endif
41 return FWL_ERR_Indefinite; 41 return FWL_ERR_Indefinite;
42 } 42 }
43 CFWL_WidgetImp* CFWL_NoteLoop::GetForm() { 43 CFWL_WidgetImp* CFWL_NoteLoop::GetForm() {
44 return m_pForm; 44 return m_pForm;
45 } 45 }
46 FX_BOOL CFWL_NoteLoop::ContinueModal() { 46 FX_BOOL CFWL_NoteLoop::ContinueModal() {
47 return m_bContinueModal; 47 return m_bContinueModal;
(...skipping 14 matching lines...) Expand all
62 } 62 }
63 void CFWL_NoteLoop::GenerateCommondEvent(uint32_t dwCommand) { 63 void CFWL_NoteLoop::GenerateCommondEvent(uint32_t dwCommand) {
64 CFWL_EvtMenuCommand ev; 64 CFWL_EvtMenuCommand ev;
65 ev.m_iCommand = dwCommand; 65 ev.m_iCommand = dwCommand;
66 IFWL_Thread* pThread = m_pForm->GetOwnerThread(); 66 IFWL_Thread* pThread = m_pForm->GetOwnerThread();
67 if (!pThread) 67 if (!pThread)
68 return; 68 return;
69 IFWL_NoteDriver* pDriver = pThread->GetNoteDriver(); 69 IFWL_NoteDriver* pDriver = pThread->GetNoteDriver();
70 if (!pDriver) 70 if (!pDriver)
71 return; 71 return;
72 pDriver->SendNote(&ev); 72 pDriver->SendEvent(&ev);
73 } 73 }
74 CFWL_NoteDriver::CFWL_NoteDriver() 74 CFWL_NoteDriver::CFWL_NoteDriver()
75 : m_sendEventCalled(0), 75 : m_sendEventCalled(0),
76 m_bFullScreen(FALSE), 76 m_bFullScreen(FALSE),
77 m_pHover(nullptr), 77 m_pHover(nullptr),
78 m_pFocus(nullptr), 78 m_pFocus(nullptr),
79 m_pGrab(nullptr) { 79 m_pGrab(nullptr) {
80 m_pNoteLoop = new CFWL_NoteLoop; 80 m_pNoteLoop = new CFWL_NoteLoop;
81 PushNoteLoop(m_pNoteLoop); 81 PushNoteLoop(m_pNoteLoop);
82 } 82 }
83 CFWL_NoteDriver::~CFWL_NoteDriver() { 83 CFWL_NoteDriver::~CFWL_NoteDriver() {
84 delete m_pNoteLoop; 84 delete m_pNoteLoop;
85 ClearInvalidEventTargets(TRUE); 85 ClearInvalidEventTargets(TRUE);
86 } 86 }
87 FX_BOOL CFWL_NoteDriver::SendNote(CFWL_Note* pNote) { 87
88 if (pNote->IsEvent()) { 88 FX_BOOL CFWL_NoteDriver::SendEvent(CFWL_Event* pNote) {
89 int32_t iCount = m_eventTargets.GetCount(); 89 int32_t iCount = m_eventTargets.GetCount();
90 if (iCount < 1) { 90 if (iCount < 1)
91 return TRUE; 91 return TRUE;
92 } 92 if (CFWL_EventType::Mouse == pNote->GetClassID()) {
93 if (FWL_EVTHASH_Mouse == static_cast<CFWL_Event*>(pNote)->GetClassID()) {
94 CFWL_EvtMouse* pMouse = static_cast<CFWL_EvtMouse*>(pNote); 93 CFWL_EvtMouse* pMouse = static_cast<CFWL_EvtMouse*>(pNote);
95 if (FWL_MSGMOUSECMD_MouseHover == pMouse->m_dwCmd) { 94 if (FWL_MSGMOUSECMD_MouseHover == pMouse->m_dwCmd) {
96 if (m_pNoteLoop->GetForm() && 95 if (m_pNoteLoop->GetForm() &&
97 CFWL_ToolTipContainer::getInstance()->ProcessEnter( 96 CFWL_ToolTipContainer::getInstance()->ProcessEnter(
98 pMouse, m_pNoteLoop->GetForm()->GetInterface())) { 97 pMouse, m_pNoteLoop->GetForm()->GetInterface())) {
99 } 98 }
100 } else if (FWL_MSGMOUSECMD_MouseLeave == pMouse->m_dwCmd) { 99 } else if (FWL_MSGMOUSECMD_MouseLeave == pMouse->m_dwCmd) {
101 if (CFWL_ToolTipContainer::getInstance()->ProcessLeave(pMouse)) { 100 CFWL_ToolTipContainer::getInstance()->ProcessLeave(pMouse);
102 }
103 } else if ((FWL_MSGMOUSECMD_LButtonDown <= pMouse->m_dwCmd) && 101 } else if ((FWL_MSGMOUSECMD_LButtonDown <= pMouse->m_dwCmd) &&
104 (FWL_MSGMOUSECMD_MButtonDblClk >= pMouse->m_dwCmd)) { 102 (FWL_MSGMOUSECMD_MButtonDblClk >= pMouse->m_dwCmd)) {
105 if (CFWL_ToolTipContainer::getInstance()->ProcessLeave(pMouse)) { 103 CFWL_ToolTipContainer::getInstance()->ProcessLeave(pMouse);
106 }
107 } 104 }
108 } 105 }
109 m_sendEventCalled++; 106 m_sendEventCalled++;
110 FX_POSITION pos = m_eventTargets.GetStartPosition(); 107 FX_POSITION pos = m_eventTargets.GetStartPosition();
111 while (pos) { 108 while (pos) {
112 void* key = NULL; 109 void* key = NULL;
113 CFWL_EventTarget* pEventTarget; 110 CFWL_EventTarget* pEventTarget;
114 m_eventTargets.GetNextAssoc(pos, key, (void*&)pEventTarget); 111 m_eventTargets.GetNextAssoc(pos, key, (void*&)pEventTarget);
115 if (pEventTarget && !pEventTarget->IsInvalid()) { 112 if (pEventTarget && !pEventTarget->IsInvalid()) {
116 pEventTarget->ProcessEvent(static_cast<CFWL_Event*>(pNote)); 113 pEventTarget->ProcessEvent(pNote);
117 } 114 }
118 } 115 }
119 m_sendEventCalled--; 116 m_sendEventCalled--;
120 } else { 117 return TRUE;
121 if (!pNote->m_pDstTarget)
122 return FALSE;
123 IFWL_WidgetDelegate* pDelegate = pNote->m_pDstTarget->SetDelegate(NULL);
124 if (pDelegate) {
125 pDelegate->OnProcessMessage(static_cast<CFWL_Message*>(pNote));
126 }
127 }
128 return TRUE;
129 } 118 }
130 119
131 #define FWL_NoteDriver_EventKey 1100 120 #define FWL_NoteDriver_EventKey 1100
132 FWL_ERR CFWL_NoteDriver::RegisterEventTarget(IFWL_Widget* pListener, 121 FWL_ERR CFWL_NoteDriver::RegisterEventTarget(IFWL_Widget* pListener,
133 IFWL_Widget* pEventSource, 122 IFWL_Widget* pEventSource,
134 uint32_t dwFilter) { 123 uint32_t dwFilter) {
135 uint32_t dwkey = (uint32_t)(uintptr_t)pListener->GetPrivateData( 124 uint32_t dwkey = (uint32_t)(uintptr_t)pListener->GetPrivateData(
136 (void*)(uintptr_t)FWL_NoteDriver_EventKey); 125 (void*)(uintptr_t)FWL_NoteDriver_EventKey);
137 if (dwkey == 0) { 126 if (dwkey == 0) {
138 void* random = FX_Random_MT_Start(0); 127 void* random = FX_Random_MT_Start(0);
(...skipping 248 matching lines...) Expand 10 before | Expand all | Expand 10 after
387 } 376 }
388 377
389 FX_BOOL CFWL_NoteDriver::ProcessMessage(CFWL_Message* pMessage) { 378 FX_BOOL CFWL_NoteDriver::ProcessMessage(CFWL_Message* pMessage) {
390 CFWL_WidgetMgr* pWidgetMgr = static_cast<CFWL_WidgetMgr*>(FWL_GetWidgetMgr()); 379 CFWL_WidgetMgr* pWidgetMgr = static_cast<CFWL_WidgetMgr*>(FWL_GetWidgetMgr());
391 IFWL_Widget* pMessageForm = pWidgetMgr->IsFormDisabled() 380 IFWL_Widget* pMessageForm = pWidgetMgr->IsFormDisabled()
392 ? pMessage->m_pDstTarget 381 ? pMessage->m_pDstTarget
393 : GetMessageForm(pMessage->m_pDstTarget); 382 : GetMessageForm(pMessage->m_pDstTarget);
394 if (!pMessageForm) 383 if (!pMessageForm)
395 return FALSE; 384 return FALSE;
396 if (DispatchMessage(pMessage, pMessageForm)) { 385 if (DispatchMessage(pMessage, pMessageForm)) {
397 if (pMessage->GetClassID() == FWL_MSGHASH_Mouse) { 386 if (pMessage->GetClassID() == CFWL_MessageType::Mouse)
398 MouseSecondary(static_cast<CFWL_MsgMouse*>(pMessage)); 387 MouseSecondary(static_cast<CFWL_MsgMouse*>(pMessage));
399 }
400 return TRUE; 388 return TRUE;
401 } 389 }
402 return FALSE; 390 return FALSE;
403 } 391 }
392
404 FX_BOOL CFWL_NoteDriver::DispatchMessage(CFWL_Message* pMessage, 393 FX_BOOL CFWL_NoteDriver::DispatchMessage(CFWL_Message* pMessage,
405 IFWL_Widget* pMessageForm) { 394 IFWL_Widget* pMessageForm) {
406 FX_BOOL bRet = FALSE; 395 FX_BOOL bRet = FALSE;
407 switch (pMessage->GetClassID()) { 396 switch (pMessage->GetClassID()) {
408 case FWL_MSGHASH_Activate: { 397 case CFWL_MessageType::Activate: {
409 bRet = DoActivate(static_cast<CFWL_MsgActivate*>(pMessage), pMessageForm); 398 bRet = DoActivate(static_cast<CFWL_MsgActivate*>(pMessage), pMessageForm);
410 break; 399 break;
411 } 400 }
412 case FWL_MSGHASH_Deactivate: { 401 case CFWL_MessageType::Deactivate: {
413 bRet = DoDeactivate(static_cast<CFWL_MsgDeactivate*>(pMessage), 402 bRet = DoDeactivate(static_cast<CFWL_MsgDeactivate*>(pMessage),
414 pMessageForm); 403 pMessageForm);
415 break; 404 break;
416 } 405 }
417 case FWL_MSGHASH_SetFocus: { 406 case CFWL_MessageType::SetFocus: {
418 bRet = DoSetFocus(static_cast<CFWL_MsgSetFocus*>(pMessage), pMessageForm); 407 bRet = DoSetFocus(static_cast<CFWL_MsgSetFocus*>(pMessage), pMessageForm);
419 break; 408 break;
420 } 409 }
421 case FWL_MSGHASH_KillFocus: { 410 case CFWL_MessageType::KillFocus: {
422 bRet = 411 bRet =
423 DoKillFocus(static_cast<CFWL_MsgKillFocus*>(pMessage), pMessageForm); 412 DoKillFocus(static_cast<CFWL_MsgKillFocus*>(pMessage), pMessageForm);
424 break; 413 break;
425 } 414 }
426 case FWL_MSGHASH_Key: { 415 case CFWL_MessageType::Key: {
427 bRet = DoKey(static_cast<CFWL_MsgKey*>(pMessage), pMessageForm); 416 bRet = DoKey(static_cast<CFWL_MsgKey*>(pMessage), pMessageForm);
428 break; 417 break;
429 } 418 }
430 case FWL_MSGHASH_Mouse: { 419 case CFWL_MessageType::Mouse: {
431 bRet = DoMouse(static_cast<CFWL_MsgMouse*>(pMessage), pMessageForm); 420 bRet = DoMouse(static_cast<CFWL_MsgMouse*>(pMessage), pMessageForm);
432 break; 421 break;
433 } 422 }
434 case FWL_MSGHASH_MouseWheel: { 423 case CFWL_MessageType::MouseWheel: {
435 bRet = DoWheel(static_cast<CFWL_MsgMouseWheel*>(pMessage), pMessageForm); 424 bRet = DoWheel(static_cast<CFWL_MsgMouseWheel*>(pMessage), pMessageForm);
436 break; 425 break;
437 } 426 }
438 case FWL_MSGHASH_Size: { 427 case CFWL_MessageType::Size: {
439 bRet = DoSize(static_cast<CFWL_MsgSize*>(pMessage)); 428 bRet = DoSize(static_cast<CFWL_MsgSize*>(pMessage));
440 break; 429 break;
441 } 430 }
442 case FWL_MSGHASH_Cursor: { 431 case CFWL_MessageType::Cursor: {
443 bRet = TRUE; 432 bRet = TRUE;
444 break; 433 break;
445 } 434 }
446 case FWL_MSGHASH_WindowMove: { 435 case CFWL_MessageType::WindowMove: {
447 bRet = DoWindowMove(static_cast<CFWL_MsgWindowMove*>(pMessage), 436 bRet = DoWindowMove(static_cast<CFWL_MsgWindowMove*>(pMessage),
448 pMessageForm); 437 pMessageForm);
449 break; 438 break;
450 } 439 }
451 case FWL_MSGHASH_DropFiles: { 440 case CFWL_MessageType::DropFiles: {
452 bRet = 441 bRet =
453 DoDragFiles(static_cast<CFWL_MsgDropFiles*>(pMessage), pMessageForm); 442 DoDragFiles(static_cast<CFWL_MsgDropFiles*>(pMessage), pMessageForm);
454 break; 443 break;
455 } 444 }
456 default: { 445 default: {
457 bRet = TRUE; 446 bRet = TRUE;
458 break; 447 break;
459 } 448 }
460 } 449 }
461 if (bRet) { 450 if (bRet) {
462 IFWL_WidgetDelegate* pDelegate = pMessage->m_pDstTarget->SetDelegate(NULL); 451 IFWL_WidgetDelegate* pDelegate = pMessage->m_pDstTarget->SetDelegate(NULL);
463 if (pDelegate) { 452 if (pDelegate)
464 pDelegate->OnProcessMessage(pMessage); 453 pDelegate->OnProcessMessage(pMessage);
465 }
466 } 454 }
467 return bRet; 455 return bRet;
468 } 456 }
457
469 FX_BOOL CFWL_NoteDriver::DoActivate(CFWL_MsgActivate* pMsg, 458 FX_BOOL CFWL_NoteDriver::DoActivate(CFWL_MsgActivate* pMsg,
470 IFWL_Widget* pMessageForm) { 459 IFWL_Widget* pMessageForm) {
471 if (m_bFullScreen) { 460 if (m_bFullScreen) {
472 return FALSE; 461 return FALSE;
473 } 462 }
474 pMsg->m_pDstTarget = pMessageForm; 463 pMsg->m_pDstTarget = pMessageForm;
475 return (pMsg->m_pDstTarget)->GetStates() & FWL_WGTSTATE_Deactivated; 464 return (pMsg->m_pDstTarget)->GetStates() & FWL_WGTSTATE_Deactivated;
476 } 465 }
477 FX_BOOL CFWL_NoteDriver::DoDeactivate(CFWL_MsgDeactivate* pMsg, 466 FX_BOOL CFWL_NoteDriver::DoDeactivate(CFWL_MsgDeactivate* pMsg,
478 IFWL_Widget* pMessageForm) { 467 IFWL_Widget* pMessageForm) {
(...skipping 210 matching lines...) Expand 10 before | Expand all | Expand 10 after
689 m_pHover = pTarget; 678 m_pHover = pTarget;
690 CFWL_MsgMouse msHover; 679 CFWL_MsgMouse msHover;
691 msHover.m_pDstTarget = pTarget; 680 msHover.m_pDstTarget = pTarget;
692 msHover.m_fx = pMsg->m_fx; 681 msHover.m_fx = pMsg->m_fx;
693 msHover.m_fy = pMsg->m_fy; 682 msHover.m_fy = pMsg->m_fy;
694 msHover.m_dwFlags = 0; 683 msHover.m_dwFlags = 0;
695 msHover.m_dwCmd = FWL_MSGMOUSECMD_MouseHover; 684 msHover.m_dwCmd = FWL_MSGMOUSECMD_MouseHover;
696 DispatchMessage(&msHover, NULL); 685 DispatchMessage(&msHover, NULL);
697 } 686 }
698 FX_BOOL CFWL_NoteDriver::IsValidMessage(CFWL_Message* pMessage) { 687 FX_BOOL CFWL_NoteDriver::IsValidMessage(CFWL_Message* pMessage) {
699 if (pMessage->GetClassID() == FWL_MSGHASH_Post) { 688 if (pMessage->GetClassID() == CFWL_MessageType::Post)
700 return TRUE; 689 return TRUE;
701 } 690
702 int32_t iCount = m_noteLoopQueue.GetSize(); 691 int32_t iCount = m_noteLoopQueue.GetSize();
703 for (int32_t i = 0; i < iCount; i++) { 692 for (int32_t i = 0; i < iCount; i++) {
704 CFWL_NoteLoop* pNoteLoop = static_cast<CFWL_NoteLoop*>(m_noteLoopQueue[i]); 693 CFWL_NoteLoop* pNoteLoop = static_cast<CFWL_NoteLoop*>(m_noteLoopQueue[i]);
705 CFWL_WidgetImp* pForm = pNoteLoop->GetForm(); 694 CFWL_WidgetImp* pForm = pNoteLoop->GetForm();
706 if (pForm && (pForm->GetInterface() == pMessage->m_pDstTarget)) { 695 if (pForm && (pForm->GetInterface() == pMessage->m_pDstTarget))
707 return TRUE; 696 return TRUE;
708 }
709 } 697 }
710 iCount = m_forms.GetSize(); 698 iCount = m_forms.GetSize();
711 for (int32_t j = 0; j < iCount; j++) { 699 for (int32_t j = 0; j < iCount; j++) {
712 CFWL_FormImp* pForm = static_cast<CFWL_FormImp*>(m_forms[j]); 700 CFWL_FormImp* pForm = static_cast<CFWL_FormImp*>(m_forms[j]);
713 if (pForm->GetInterface() == pMessage->m_pDstTarget) { 701 if (pForm->GetInterface() == pMessage->m_pDstTarget)
714 return TRUE; 702 return TRUE;
715 }
716 } 703 }
717 return FALSE; 704 return FALSE;
718 } 705 }
706
719 IFWL_Widget* CFWL_NoteDriver::GetMessageForm(IFWL_Widget* pDstTarget) { 707 IFWL_Widget* CFWL_NoteDriver::GetMessageForm(IFWL_Widget* pDstTarget) {
720 int32_t iTrackLoop = m_noteLoopQueue.GetSize(); 708 int32_t iTrackLoop = m_noteLoopQueue.GetSize();
721 if (iTrackLoop <= 0) 709 if (iTrackLoop <= 0)
722 return NULL; 710 return NULL;
723 IFWL_Widget* pMessageForm = NULL; 711 IFWL_Widget* pMessageForm = NULL;
724 if (iTrackLoop > 1) { 712 if (iTrackLoop > 1) {
725 CFWL_NoteLoop* pNootLoop = 713 CFWL_NoteLoop* pNootLoop =
726 static_cast<CFWL_NoteLoop*>(m_noteLoopQueue[iTrackLoop - 1]); 714 static_cast<CFWL_NoteLoop*>(m_noteLoopQueue[iTrackLoop - 1]);
727 pMessageForm = pNootLoop->GetForm()->GetInterface(); 715 pMessageForm = pNootLoop->GetForm()->GetInterface();
728 } else { 716 } else {
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
794 m_eventSources.RemoveAll(); 782 m_eventSources.RemoveAll();
795 } 783 }
796 int32_t CFWL_EventTarget::SetEventSource(IFWL_Widget* pSource, 784 int32_t CFWL_EventTarget::SetEventSource(IFWL_Widget* pSource,
797 uint32_t dwFilter) { 785 uint32_t dwFilter) {
798 if (pSource) { 786 if (pSource) {
799 m_eventSources.SetAt(pSource, dwFilter); 787 m_eventSources.SetAt(pSource, dwFilter);
800 return m_eventSources.GetCount(); 788 return m_eventSources.GetCount();
801 } 789 }
802 return 1; 790 return 1;
803 } 791 }
792
804 FX_BOOL CFWL_EventTarget::ProcessEvent(CFWL_Event* pEvent) { 793 FX_BOOL CFWL_EventTarget::ProcessEvent(CFWL_Event* pEvent) {
805 IFWL_WidgetDelegate* pDelegate = m_pListener->SetDelegate(NULL); 794 IFWL_WidgetDelegate* pDelegate = m_pListener->SetDelegate(NULL);
806 if (!pDelegate) 795 if (!pDelegate)
807 return FALSE; 796 return FALSE;
808 if (m_eventSources.GetCount() == 0) { 797 if (m_eventSources.GetCount() == 0) {
809 pDelegate->OnProcessEvent(pEvent); 798 pDelegate->OnProcessEvent(pEvent);
810 return TRUE; 799 return TRUE;
811 } 800 }
812 FX_POSITION pos = m_eventSources.GetStartPosition(); 801 FX_POSITION pos = m_eventSources.GetStartPosition();
813 while (pos) { 802 while (pos) {
814 IFWL_Widget* pSource = NULL; 803 IFWL_Widget* pSource = NULL;
815 uint32_t dwFilter = 0; 804 uint32_t dwFilter = 0;
816 m_eventSources.GetNextAssoc(pos, (void*&)pSource, dwFilter); 805 m_eventSources.GetNextAssoc(pos, (void*&)pSource, dwFilter);
817 if (pSource == pEvent->m_pSrcTarget || 806 if (pSource == pEvent->m_pSrcTarget ||
818 pEvent->GetClassID() == FWL_EVTHASH_Idle) { 807 pEvent->GetClassID() == CFWL_EventType::Idle) {
819 if (IsFilterEvent(pEvent, dwFilter)) { 808 if (IsFilterEvent(pEvent, dwFilter)) {
820 pDelegate->OnProcessEvent(pEvent); 809 pDelegate->OnProcessEvent(pEvent);
821 return TRUE; 810 return TRUE;
822 } 811 }
823 } 812 }
824 } 813 }
825 return FALSE; 814 return FALSE;
826 } 815 }
816
827 FX_BOOL CFWL_EventTarget::IsFilterEvent(CFWL_Event* pEvent, uint32_t dwFilter) { 817 FX_BOOL CFWL_EventTarget::IsFilterEvent(CFWL_Event* pEvent, uint32_t dwFilter) {
828 if (dwFilter == FWL_EVENT_ALL_MASK) { 818 if (dwFilter == FWL_EVENT_ALL_MASK)
829 return TRUE; 819 return TRUE;
830 } 820
831 FX_BOOL bRet = FALSE; 821 FX_BOOL bRet = FALSE;
832 switch (pEvent->GetClassID()) { 822 switch (pEvent->GetClassID()) {
833 case FWL_EVTHASH_Mouse: { 823 case CFWL_EventType::Mouse: {
834 bRet = dwFilter & FWL_EVENT_MOUSE_MASK; 824 bRet = dwFilter & FWL_EVENT_MOUSE_MASK;
835 break; 825 break;
836 } 826 }
837 case FWL_EVTHASH_MouseWheel: { 827 case CFWL_EventType::MouseWheel: {
838 bRet = dwFilter & FWL_EVENT_MOUSEWHEEL_MASK; 828 bRet = dwFilter & FWL_EVENT_MOUSEWHEEL_MASK;
839 break; 829 break;
840 } 830 }
841 case FWL_EVTHASH_Key: { 831 case CFWL_EventType::Key: {
842 bRet = dwFilter & FWL_EVENT_KEY_MASK; 832 bRet = dwFilter & FWL_EVENT_KEY_MASK;
843 break; 833 break;
844 } 834 }
845 case FWL_EVTHASH_SetFocus: 835 case CFWL_EventType::SetFocus:
846 case FWL_EVTHASH_KillFocus: { 836 case CFWL_EventType::KillFocus: {
847 bRet = dwFilter & FWL_EVENT_FOCUSCHANGED_MASK; 837 bRet = dwFilter & FWL_EVENT_FOCUSCHANGED_MASK;
848 break; 838 break;
849 } 839 }
850 case FWL_EVTHASH_Draw: { 840 case CFWL_EventType::Draw: {
851 bRet = dwFilter & FWL_EVENT_DRAW_MASK; 841 bRet = dwFilter & FWL_EVENT_DRAW_MASK;
852 break; 842 break;
853 } 843 }
854 case FWL_EVTHASH_Close: { 844 case CFWL_EventType::Close: {
855 bRet = dwFilter & FWL_EVENT_CLOSE_MASK; 845 bRet = dwFilter & FWL_EVENT_CLOSE_MASK;
856 break; 846 break;
857 } 847 }
858 case FWL_EVTHASH_SizeChanged: { 848 case CFWL_EventType::SizeChanged: {
859 bRet = dwFilter & FWL_EVENT_SIZECHANGED_MASK; 849 bRet = dwFilter & FWL_EVENT_SIZECHANGED_MASK;
860 break; 850 break;
861 } 851 }
862 case FWL_EVTHASH_Idle: { 852 case CFWL_EventType::Idle: {
863 bRet = dwFilter & FWL_EVENT_IDLE_MASK; 853 bRet = dwFilter & FWL_EVENT_IDLE_MASK;
864 break; 854 break;
865 } 855 }
866 default: { 856 default: {
867 bRet = dwFilter & FWL_EVENT_CONTROL_MASK; 857 bRet = dwFilter & FWL_EVENT_CONTROL_MASK;
868 break; 858 break;
869 } 859 }
870 } 860 }
871 return bRet; 861 return bRet;
872 } 862 }
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after
986 if (HasToolTip(pEvt->m_pDstTarget) && NULL != m_pToolTipImp) { 976 if (HasToolTip(pEvt->m_pDstTarget) && NULL != m_pToolTipImp) {
987 m_pToolTipImp->Hide(); 977 m_pToolTipImp->Hide();
988 pCurTarget = NULL; 978 pCurTarget = NULL;
989 return TRUE; 979 return TRUE;
990 } 980 }
991 return FALSE; 981 return FALSE;
992 } 982 }
993 IFWL_ToolTipTarget* CFWL_ToolTipContainer::GetCurrentToolTipTarget() { 983 IFWL_ToolTipTarget* CFWL_ToolTipContainer::GetCurrentToolTipTarget() {
994 return pCurTarget; 984 return pCurTarget;
995 } 985 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698