OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium 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 #include "ui/events/gestures/gesture_recognizer_impl.h" | 5 #include "ui/events/gestures/gesture_recognizer_impl.h" |
6 | 6 |
7 #include <limits> | 7 #include <limits> |
8 | 8 |
9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
10 #include "base/logging.h" | 10 #include "base/logging.h" |
(...skipping 216 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
227 | 227 |
228 void GestureRecognizerImpl::DispatchGestureEvent(GestureEvent* event) { | 228 void GestureRecognizerImpl::DispatchGestureEvent(GestureEvent* event) { |
229 GestureConsumer* consumer = GetTargetForGestureEvent(*event); | 229 GestureConsumer* consumer = GetTargetForGestureEvent(*event); |
230 if (consumer) { | 230 if (consumer) { |
231 GestureEventHelper* helper = FindDispatchHelperForConsumer(consumer); | 231 GestureEventHelper* helper = FindDispatchHelperForConsumer(consumer); |
232 if (helper) | 232 if (helper) |
233 helper->DispatchGestureEvent(event); | 233 helper->DispatchGestureEvent(event); |
234 } | 234 } |
235 } | 235 } |
236 | 236 |
237 bool GestureRecognizerImpl::ProcessTouchEventPreDispatch( | 237 bool GestureRecognizerImpl::ProcessTouchEvent(const TouchEvent& event, |
238 const TouchEvent& event, | 238 GestureConsumer* consumer) { |
239 GestureConsumer* consumer) { | |
240 SetupTargets(event, consumer); | 239 SetupTargets(event, consumer); |
241 | 240 |
242 if (event.result() & ER_CONSUMED) | 241 if (event.result() & ER_CONSUMED) |
243 return false; | 242 return false; |
244 | 243 |
245 GestureProviderAura* gesture_provider = | 244 GestureProviderAura* gesture_provider = |
246 GetGestureProviderForConsumer(consumer); | 245 GetGestureProviderForConsumer(consumer); |
247 return gesture_provider->OnTouchEvent(event); | 246 return gesture_provider->OnTouchEvent(event); |
248 } | 247 } |
249 | 248 |
250 GestureRecognizer::Gestures* | 249 GestureRecognizer::Gestures* GestureRecognizerImpl::ProcessTouchEventAck( |
251 GestureRecognizerImpl::ProcessTouchEventPostDispatch( | |
252 const TouchEvent& event, | 250 const TouchEvent& event, |
253 ui::EventResult result, | 251 ui::EventResult result, |
254 GestureConsumer* consumer) { | 252 GestureConsumer* consumer) { |
| 253 DCHECK(!(result & ui::ER_CONSUMED)); |
255 GestureProviderAura* gesture_provider = | 254 GestureProviderAura* gesture_provider = |
256 GetGestureProviderForConsumer(consumer); | 255 GetGestureProviderForConsumer(consumer); |
257 gesture_provider->OnTouchEventAck(result != ER_UNHANDLED); | 256 gesture_provider->OnTouchEventAck(result != ER_UNHANDLED); |
258 return gesture_provider->GetAndResetPendingGestures(); | |
259 } | |
260 | |
261 GestureRecognizer::Gestures* GestureRecognizerImpl::ProcessTouchEventOnAsyncAck( | |
262 const TouchEvent& event, | |
263 ui::EventResult result, | |
264 GestureConsumer* consumer) { | |
265 if (result & ui::ER_CONSUMED) | |
266 return NULL; | |
267 GestureProviderAura* gesture_provider = | |
268 GetGestureProviderForConsumer(consumer); | |
269 gesture_provider->OnTouchEventAck(result != ER_UNHANDLED); | |
270 return gesture_provider->GetAndResetPendingGestures(); | 257 return gesture_provider->GetAndResetPendingGestures(); |
271 } | 258 } |
272 | 259 |
273 bool GestureRecognizerImpl::CleanupStateForConsumer( | 260 bool GestureRecognizerImpl::CleanupStateForConsumer( |
274 GestureConsumer* consumer) { | 261 GestureConsumer* consumer) { |
275 bool state_cleaned_up = false; | 262 bool state_cleaned_up = false; |
276 | 263 |
277 if (consumer_gesture_provider_.count(consumer)) { | 264 if (consumer_gesture_provider_.count(consumer)) { |
278 state_cleaned_up = true; | 265 state_cleaned_up = true; |
279 delete consumer_gesture_provider_[consumer]; | 266 delete consumer_gesture_provider_[consumer]; |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
339 std::vector<GestureEventHelper*>::iterator it; | 326 std::vector<GestureEventHelper*>::iterator it; |
340 for (it = helpers.begin(); it != helpers.end(); ++it) | 327 for (it = helpers.begin(); it != helpers.end(); ++it) |
341 gesture_recognizer->AddGestureEventHelper(*it); | 328 gesture_recognizer->AddGestureEventHelper(*it); |
342 | 329 |
343 helpers.clear(); | 330 helpers.clear(); |
344 g_gesture_recognizer_instance = | 331 g_gesture_recognizer_instance = |
345 static_cast<GestureRecognizerImpl*>(gesture_recognizer); | 332 static_cast<GestureRecognizerImpl*>(gesture_recognizer); |
346 } | 333 } |
347 | 334 |
348 } // namespace ui | 335 } // namespace ui |
OLD | NEW |