Index: xfa/fwl/core/cfwl_widget.cpp |
diff --git a/xfa/fwl/core/cfwl_widget.cpp b/xfa/fwl/core/cfwl_widget.cpp |
index e2de86681722a224404afd542b6c33f4fe7ac826..d487aadb9d3430c5ae77e7a6b8c27891e4cb15f0 100644 |
--- a/xfa/fwl/core/cfwl_widget.cpp |
+++ b/xfa/fwl/core/cfwl_widget.cpp |
@@ -12,12 +12,8 @@ |
#include "xfa/fde/tto/fde_textout.h" |
#include "xfa/fwl/core/cfwl_app.h" |
#include "xfa/fwl/core/cfwl_combobox.h" |
-#include "xfa/fwl/core/cfwl_evtkey.h" |
-#include "xfa/fwl/core/cfwl_evtkillfocus.h" |
+#include "xfa/fwl/core/cfwl_event.h" |
#include "xfa/fwl/core/cfwl_evtmouse.h" |
-#include "xfa/fwl/core/cfwl_evtmousewheel.h" |
-#include "xfa/fwl/core/cfwl_evtsetfocus.h" |
-#include "xfa/fwl/core/cfwl_evtsizechanged.h" |
#include "xfa/fwl/core/cfwl_form.h" |
#include "xfa/fwl/core/cfwl_msgkey.h" |
#include "xfa/fwl/core/cfwl_msgkillfocus.h" |
@@ -86,21 +82,10 @@ void CFWL_Widget::GetWidgetRect(CFX_RectF& rect, bool bAutoSize) { |
} |
void CFWL_Widget::SetWidgetRect(const CFX_RectF& rect) { |
- CFX_RectF rtOld = m_pProperties->m_rtWidget; |
m_pProperties->m_rtWidget = rect; |
- if (IsChild()) { |
- if (FXSYS_fabs(rtOld.width - rect.width) > 0.5f || |
- FXSYS_fabs(rtOld.height - rect.height) > 0.5f) { |
- CFWL_EvtSizeChanged ev; |
- ev.m_pSrcTarget = this; |
- ev.m_rtOld = rtOld; |
- ev.m_rtNew = rect; |
- |
- if (IFWL_WidgetDelegate* pDelegate = GetDelegate()) |
- pDelegate->OnProcessEvent(&ev); |
- } |
+ if (IsChild()) |
return; |
- } |
+ |
m_pWidgetMgr->SetWidgetRect_Native(this, rect); |
} |
@@ -598,18 +583,6 @@ void CFWL_Widget::UnregisterEventTarget() { |
pNoteDriver->UnregisterEventTarget(this); |
} |
-void CFWL_Widget::DispatchKeyEvent(CFWL_MsgKey* pNote) { |
- if (!pNote) |
- return; |
- |
- auto pEvent = pdfium::MakeUnique<CFWL_EvtKey>(); |
- pEvent->m_pSrcTarget = this; |
- pEvent->m_dwCmd = pNote->m_dwCmd; |
- pEvent->m_dwKeyCode = pNote->m_dwKeyCode; |
- pEvent->m_dwFlags = pNote->m_dwFlags; |
- DispatchEvent(pEvent.get()); |
-} |
- |
void CFWL_Widget::DispatchEvent(CFWL_Event* pEvent) { |
if (m_pOuter) { |
m_pOuter->GetDelegate()->OnProcessEvent(pEvent); |
@@ -733,61 +706,12 @@ void CFWL_Widget::OnProcessMessage(CFWL_Message* pMessage) { |
return; |
CFWL_Widget* pWidget = pMessage->m_pDstTarget; |
- CFWL_MessageType dwMsgCode = pMessage->GetClassID(); |
- switch (dwMsgCode) { |
- case CFWL_MessageType::Mouse: { |
+ switch (pMessage->GetType()) { |
+ case CFWL_Message::Type::Mouse: { |
CFWL_MsgMouse* pMsgMouse = static_cast<CFWL_MsgMouse*>(pMessage); |
- CFWL_EvtMouse evt; |
- evt.m_pSrcTarget = pWidget; |
- evt.m_pDstTarget = pWidget; |
+ |
+ CFWL_EvtMouse evt(pWidget, pWidget); |
evt.m_dwCmd = pMsgMouse->m_dwCmd; |
- evt.m_dwFlags = pMsgMouse->m_dwFlags; |
- evt.m_fx = pMsgMouse->m_fx; |
- evt.m_fy = pMsgMouse->m_fy; |
- pWidget->DispatchEvent(&evt); |
- break; |
- } |
- case CFWL_MessageType::MouseWheel: { |
- CFWL_MsgMouseWheel* pMsgMouseWheel = |
- static_cast<CFWL_MsgMouseWheel*>(pMessage); |
- CFWL_EvtMouseWheel evt; |
- evt.m_pSrcTarget = pWidget; |
- evt.m_pDstTarget = pWidget; |
- evt.m_dwFlags = pMsgMouseWheel->m_dwFlags; |
- evt.m_fDeltaX = pMsgMouseWheel->m_fDeltaX; |
- evt.m_fDeltaY = pMsgMouseWheel->m_fDeltaY; |
- evt.m_fx = pMsgMouseWheel->m_fx; |
- evt.m_fy = pMsgMouseWheel->m_fy; |
- pWidget->DispatchEvent(&evt); |
- break; |
- } |
- case CFWL_MessageType::Key: { |
- CFWL_MsgKey* pMsgKey = static_cast<CFWL_MsgKey*>(pMessage); |
- CFWL_EvtKey evt; |
- evt.m_pSrcTarget = pWidget; |
- evt.m_pDstTarget = pWidget; |
- evt.m_dwKeyCode = pMsgKey->m_dwKeyCode; |
- evt.m_dwFlags = pMsgKey->m_dwFlags; |
- evt.m_dwCmd = pMsgKey->m_dwCmd; |
- pWidget->DispatchEvent(&evt); |
- break; |
- } |
- case CFWL_MessageType::SetFocus: { |
- CFWL_MsgSetFocus* pMsgSetFocus = static_cast<CFWL_MsgSetFocus*>(pMessage); |
- CFWL_EvtSetFocus evt; |
- evt.m_pSrcTarget = pMsgSetFocus->m_pDstTarget; |
- evt.m_pDstTarget = pMsgSetFocus->m_pDstTarget; |
- evt.m_pSetFocus = pWidget; |
- pWidget->DispatchEvent(&evt); |
- break; |
- } |
- case CFWL_MessageType::KillFocus: { |
- CFWL_MsgKillFocus* pMsgKillFocus = |
- static_cast<CFWL_MsgKillFocus*>(pMessage); |
- CFWL_EvtKillFocus evt; |
- evt.m_pSrcTarget = pMsgKillFocus->m_pDstTarget; |
- evt.m_pDstTarget = pMsgKillFocus->m_pDstTarget; |
- evt.m_pKillFocus = pWidget; |
pWidget->DispatchEvent(&evt); |
break; |
} |