Chromium Code Reviews| Index: xfa/fwl/core/fwl_noteimp.cpp |
| diff --git a/xfa/fwl/core/fwl_noteimp.cpp b/xfa/fwl/core/fwl_noteimp.cpp |
| index a01eea9138ed089a1ec6ead1d51b02bd15659b92..5c825487b09542ccfaefe88a4d642521eb41577e 100644 |
| --- a/xfa/fwl/core/fwl_noteimp.cpp |
| +++ b/xfa/fwl/core/fwl_noteimp.cpp |
| @@ -34,7 +34,7 @@ FWL_ERR CFWL_NoteLoop::Idle(int32_t count) { |
| IFWL_NoteDriver* pDriver = pApp->GetNoteDriver(); |
| if (!pDriver) |
| return FWL_ERR_Indefinite; |
| - pDriver->SendNote(&ev); |
| + pDriver->SendEvent(&ev); |
| #if (_FX_OS_ == _FX_WIN32_DESKTOP_) |
| } |
| #endif |
| @@ -69,7 +69,7 @@ void CFWL_NoteLoop::GenerateCommondEvent(uint32_t dwCommand) { |
| IFWL_NoteDriver* pDriver = pThread->GetNoteDriver(); |
| if (!pDriver) |
| return; |
| - pDriver->SendNote(&ev); |
| + pDriver->SendEvent(&ev); |
| } |
| CFWL_NoteDriver::CFWL_NoteDriver() |
| : m_sendEventCalled(0), |
| @@ -83,47 +83,36 @@ CFWL_NoteDriver::~CFWL_NoteDriver() { |
| delete m_pNoteLoop; |
| ClearInvalidEventTargets(TRUE); |
| } |
| -FX_BOOL CFWL_NoteDriver::SendNote(CFWL_Note* pNote) { |
| - if (pNote->IsEvent()) { |
| - int32_t iCount = m_eventTargets.GetCount(); |
| - if (iCount < 1) { |
| - return TRUE; |
| - } |
| - if (FWL_EVTHASH_Mouse == static_cast<CFWL_Event*>(pNote)->GetClassID()) { |
| - CFWL_EvtMouse* pMouse = static_cast<CFWL_EvtMouse*>(pNote); |
| - if (FWL_MSGMOUSECMD_MouseHover == pMouse->m_dwCmd) { |
| - if (m_pNoteLoop->GetForm() && |
| - CFWL_ToolTipContainer::getInstance()->ProcessEnter( |
| - pMouse, m_pNoteLoop->GetForm()->GetInterface())) { |
| - } |
| - } else if (FWL_MSGMOUSECMD_MouseLeave == pMouse->m_dwCmd) { |
| - if (CFWL_ToolTipContainer::getInstance()->ProcessLeave(pMouse)) { |
| - } |
| - } else if ((FWL_MSGMOUSECMD_LButtonDown <= pMouse->m_dwCmd) && |
| - (FWL_MSGMOUSECMD_MButtonDblClk >= pMouse->m_dwCmd)) { |
| - if (CFWL_ToolTipContainer::getInstance()->ProcessLeave(pMouse)) { |
| - } |
| - } |
| - } |
| - m_sendEventCalled++; |
| - FX_POSITION pos = m_eventTargets.GetStartPosition(); |
| - while (pos) { |
| - void* key = NULL; |
| - CFWL_EventTarget* pEventTarget; |
| - m_eventTargets.GetNextAssoc(pos, key, (void*&)pEventTarget); |
| - if (pEventTarget && !pEventTarget->IsInvalid()) { |
| - pEventTarget->ProcessEvent(static_cast<CFWL_Event*>(pNote)); |
| + |
| +FX_BOOL CFWL_NoteDriver::SendEvent(CFWL_Event* pNote) { |
| + int32_t iCount = m_eventTargets.GetCount(); |
| + if (iCount < 1) |
| + return TRUE; |
| + if (CFWL_EventType::Mouse == pNote->GetClassID()) { |
| + CFWL_EvtMouse* pMouse = static_cast<CFWL_EvtMouse*>(pNote); |
| + if (FWL_MSGMOUSECMD_MouseHover == pMouse->m_dwCmd) { |
| + if (m_pNoteLoop->GetForm() && |
| + CFWL_ToolTipContainer::getInstance()->ProcessEnter( |
| + pMouse, m_pNoteLoop->GetForm()->GetInterface())) { |
| } |
| + } else if (FWL_MSGMOUSECMD_MouseLeave == pMouse->m_dwCmd) { |
| + CFWL_ToolTipContainer::getInstance()->ProcessLeave(pMouse); |
| + } else if ((FWL_MSGMOUSECMD_LButtonDown <= pMouse->m_dwCmd) && |
| + (FWL_MSGMOUSECMD_MButtonDblClk >= pMouse->m_dwCmd)) { |
| + CFWL_ToolTipContainer::getInstance()->ProcessLeave(pMouse); |
| } |
| - m_sendEventCalled--; |
| - } else { |
| - if (!pNote->m_pDstTarget) |
| - return FALSE; |
| - IFWL_WidgetDelegate* pDelegate = pNote->m_pDstTarget->SetDelegate(NULL); |
| - if (pDelegate) { |
| - pDelegate->OnProcessMessage(static_cast<CFWL_Message*>(pNote)); |
| + } |
| + m_sendEventCalled++; |
| + FX_POSITION pos = m_eventTargets.GetStartPosition(); |
| + while (pos) { |
| + void* key = NULL; |
|
Tom Sepez
2016/04/21 19:22:33
nit: nullptr;
dsinclair
2016/04/21 19:35:49
Done.
|
| + CFWL_EventTarget* pEventTarget; |
|
Tom Sepez
2016/04/21 19:22:33
nit: would prefer void* value = nullptr;
dsinclair
2016/04/21 19:35:49
Done.
|
| + m_eventTargets.GetNextAssoc(pos, key, (void*&)pEventTarget); |
|
Tom Sepez
2016/04/21 19:22:33
Then m_eventTargets.GetNextAssoc(pos, key, value);
dsinclair
2016/04/21 19:35:49
Done.
|
| + if (pEventTarget && !pEventTarget->IsInvalid()) { |
| + pEventTarget->ProcessEvent(pNote); |
|
Tom Sepez
2016/04/21 19:22:33
then CFWL_EventTarget* pEventTarget = static_cast<
dsinclair
2016/04/21 19:35:49
Done.
|
| } |
| } |
| + m_sendEventCalled--; |
| return TRUE; |
| } |
| @@ -390,61 +379,61 @@ FX_BOOL CFWL_NoteDriver::ProcessMessage(CFWL_Message* pMessage) { |
| if (!pMessageForm) |
| return FALSE; |
| if (DispatchMessage(pMessage, pMessageForm)) { |
| - if (pMessage->GetClassID() == FWL_MSGHASH_Mouse) { |
| + if (pMessage->GetClassID() == CFWL_MessageType::Mouse) |
| MouseSecondary(static_cast<CFWL_MsgMouse*>(pMessage)); |
| - } |
| return TRUE; |
| } |
| return FALSE; |
| } |
| + |
| FX_BOOL CFWL_NoteDriver::DispatchMessage(CFWL_Message* pMessage, |
| IFWL_Widget* pMessageForm) { |
| FX_BOOL bRet = FALSE; |
| switch (pMessage->GetClassID()) { |
| - case FWL_MSGHASH_Activate: { |
| + case CFWL_MessageType::Activate: { |
| bRet = DoActivate(static_cast<CFWL_MsgActivate*>(pMessage), pMessageForm); |
| break; |
| } |
| - case FWL_MSGHASH_Deactivate: { |
| + case CFWL_MessageType::Deactivate: { |
| bRet = DoDeactivate(static_cast<CFWL_MsgDeactivate*>(pMessage), |
| pMessageForm); |
| break; |
| } |
| - case FWL_MSGHASH_SetFocus: { |
| + case CFWL_MessageType::SetFocus: { |
| bRet = DoSetFocus(static_cast<CFWL_MsgSetFocus*>(pMessage), pMessageForm); |
| break; |
| } |
| - case FWL_MSGHASH_KillFocus: { |
| + case CFWL_MessageType::KillFocus: { |
| bRet = |
| DoKillFocus(static_cast<CFWL_MsgKillFocus*>(pMessage), pMessageForm); |
| break; |
| } |
| - case FWL_MSGHASH_Key: { |
| + case CFWL_MessageType::Key: { |
| bRet = DoKey(static_cast<CFWL_MsgKey*>(pMessage), pMessageForm); |
| break; |
| } |
| - case FWL_MSGHASH_Mouse: { |
| + case CFWL_MessageType::Mouse: { |
| bRet = DoMouse(static_cast<CFWL_MsgMouse*>(pMessage), pMessageForm); |
| break; |
| } |
| - case FWL_MSGHASH_MouseWheel: { |
| + case CFWL_MessageType::MouseWheel: { |
| bRet = DoWheel(static_cast<CFWL_MsgMouseWheel*>(pMessage), pMessageForm); |
| break; |
| } |
| - case FWL_MSGHASH_Size: { |
| + case CFWL_MessageType::Size: { |
| bRet = DoSize(static_cast<CFWL_MsgSize*>(pMessage)); |
| break; |
| } |
| - case FWL_MSGHASH_Cursor: { |
| + case CFWL_MessageType::Cursor: { |
| bRet = TRUE; |
| break; |
| } |
| - case FWL_MSGHASH_WindowMove: { |
| + case CFWL_MessageType::WindowMove: { |
| bRet = DoWindowMove(static_cast<CFWL_MsgWindowMove*>(pMessage), |
| pMessageForm); |
| break; |
| } |
| - case FWL_MSGHASH_DropFiles: { |
| + case CFWL_MessageType::DropFiles: { |
| bRet = |
| DoDragFiles(static_cast<CFWL_MsgDropFiles*>(pMessage), pMessageForm); |
| break; |
| @@ -456,12 +445,12 @@ FX_BOOL CFWL_NoteDriver::DispatchMessage(CFWL_Message* pMessage, |
| } |
| if (bRet) { |
| IFWL_WidgetDelegate* pDelegate = pMessage->m_pDstTarget->SetDelegate(NULL); |
| - if (pDelegate) { |
| + if (pDelegate) |
| pDelegate->OnProcessMessage(pMessage); |
| - } |
| } |
| return bRet; |
| } |
| + |
| FX_BOOL CFWL_NoteDriver::DoActivate(CFWL_MsgActivate* pMsg, |
| IFWL_Widget* pMessageForm) { |
| pMsg->m_pDstTarget = pMessageForm; |
| @@ -686,26 +675,25 @@ void CFWL_NoteDriver::MouseSecondary(CFWL_MsgMouse* pMsg) { |
| DispatchMessage(&msHover, NULL); |
| } |
| FX_BOOL CFWL_NoteDriver::IsValidMessage(CFWL_Message* pMessage) { |
| - if (pMessage->GetClassID() == FWL_MSGHASH_Post) { |
| + if (pMessage->GetClassID() == CFWL_MessageType::Post) |
| return TRUE; |
| - } |
| + |
| int32_t iCount = m_noteLoopQueue.GetSize(); |
| for (int32_t i = 0; i < iCount; i++) { |
| CFWL_NoteLoop* pNoteLoop = static_cast<CFWL_NoteLoop*>(m_noteLoopQueue[i]); |
| CFWL_WidgetImp* pForm = pNoteLoop->GetForm(); |
| - if (pForm && (pForm->GetInterface() == pMessage->m_pDstTarget)) { |
| + if (pForm && (pForm->GetInterface() == pMessage->m_pDstTarget)) |
| return TRUE; |
| - } |
| } |
| iCount = m_forms.GetSize(); |
| for (int32_t j = 0; j < iCount; j++) { |
| CFWL_FormImp* pForm = static_cast<CFWL_FormImp*>(m_forms[j]); |
| - if (pForm->GetInterface() == pMessage->m_pDstTarget) { |
| + if (pForm->GetInterface() == pMessage->m_pDstTarget) |
| return TRUE; |
| - } |
| } |
| return FALSE; |
| } |
| + |
| IFWL_Widget* CFWL_NoteDriver::GetMessageForm(IFWL_Widget* pDstTarget) { |
| int32_t iTrackLoop = m_noteLoopQueue.GetSize(); |
| if (iTrackLoop <= 0) |
| @@ -791,6 +779,7 @@ int32_t CFWL_EventTarget::SetEventSource(IFWL_Widget* pSource, |
| } |
| return 1; |
| } |
| + |
| FX_BOOL CFWL_EventTarget::ProcessEvent(CFWL_Event* pEvent) { |
| IFWL_WidgetDelegate* pDelegate = m_pListener->SetDelegate(NULL); |
| if (!pDelegate) |
| @@ -805,7 +794,7 @@ FX_BOOL CFWL_EventTarget::ProcessEvent(CFWL_Event* pEvent) { |
| uint32_t dwFilter = 0; |
| m_eventSources.GetNextAssoc(pos, (void*&)pSource, dwFilter); |
| if (pSource == pEvent->m_pSrcTarget || |
| - pEvent->GetClassID() == FWL_EVTHASH_Idle) { |
| + pEvent->GetClassID() == CFWL_EventType::Idle) { |
| if (IsFilterEvent(pEvent, dwFilter)) { |
| pDelegate->OnProcessEvent(pEvent); |
| return TRUE; |
| @@ -814,42 +803,43 @@ FX_BOOL CFWL_EventTarget::ProcessEvent(CFWL_Event* pEvent) { |
| } |
| return FALSE; |
| } |
| + |
| FX_BOOL CFWL_EventTarget::IsFilterEvent(CFWL_Event* pEvent, uint32_t dwFilter) { |
| - if (dwFilter == FWL_EVENT_ALL_MASK) { |
| + if (dwFilter == FWL_EVENT_ALL_MASK) |
| return TRUE; |
| - } |
| + |
| FX_BOOL bRet = FALSE; |
| switch (pEvent->GetClassID()) { |
| - case FWL_EVTHASH_Mouse: { |
| + case CFWL_EventType::Mouse: { |
| bRet = dwFilter & FWL_EVENT_MOUSE_MASK; |
| break; |
| } |
| - case FWL_EVTHASH_MouseWheel: { |
| + case CFWL_EventType::MouseWheel: { |
| bRet = dwFilter & FWL_EVENT_MOUSEWHEEL_MASK; |
| break; |
| } |
| - case FWL_EVTHASH_Key: { |
| + case CFWL_EventType::Key: { |
| bRet = dwFilter & FWL_EVENT_KEY_MASK; |
| break; |
| } |
| - case FWL_EVTHASH_SetFocus: |
| - case FWL_EVTHASH_KillFocus: { |
| + case CFWL_EventType::SetFocus: |
| + case CFWL_EventType::KillFocus: { |
| bRet = dwFilter & FWL_EVENT_FOCUSCHANGED_MASK; |
| break; |
| } |
| - case FWL_EVTHASH_Draw: { |
| + case CFWL_EventType::Draw: { |
| bRet = dwFilter & FWL_EVENT_DRAW_MASK; |
| break; |
| } |
| - case FWL_EVTHASH_Close: { |
| + case CFWL_EventType::Close: { |
| bRet = dwFilter & FWL_EVENT_CLOSE_MASK; |
| break; |
| } |
| - case FWL_EVTHASH_SizeChanged: { |
| + case CFWL_EventType::SizeChanged: { |
| bRet = dwFilter & FWL_EVENT_SIZECHANGED_MASK; |
| break; |
| } |
| - case FWL_EVTHASH_Idle: { |
| + case CFWL_EventType::Idle: { |
| bRet = dwFilter & FWL_EVENT_IDLE_MASK; |
| break; |
| } |