OLD | NEW |
| (Empty) |
1 // Copyright 2016 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 #include "xfa/fwl/core/cfwl_eventtarget.h" | |
8 | |
9 #include "xfa/fwl/core/cfwl_widget.h" | |
10 #include "xfa/fwl/core/ifwl_widgetdelegate.h" | |
11 | |
12 CFWL_EventTarget::CFWL_EventTarget(CFWL_Widget* pListener) | |
13 : m_pListener(pListener), m_bInvalid(false) {} | |
14 | |
15 CFWL_EventTarget::~CFWL_EventTarget() {} | |
16 | |
17 void CFWL_EventTarget::SetEventSource(CFWL_Widget* pSource) { | |
18 if (pSource) | |
19 m_widgets.insert(pSource); | |
20 } | |
21 | |
22 bool CFWL_EventTarget::ProcessEvent(CFWL_Event* pEvent) { | |
23 IFWL_WidgetDelegate* pDelegate = m_pListener->GetDelegate(); | |
24 if (!pDelegate) | |
25 return false; | |
26 if (!m_widgets.empty() && m_widgets.count(pEvent->m_pSrcTarget) == 0) | |
27 return false; | |
28 | |
29 pDelegate->OnProcessEvent(pEvent); | |
30 return true; | |
31 } | |
OLD | NEW |