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

Side by Side Diff: ui/events/gesture_detection/gesture_detector.cc

Issue 197213029: [Android] Remove the fork of GestureDetector.java (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix include Created 6 years, 9 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
« no previous file with comments | « ui/events/gesture_detection/gesture_detector.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/gesture_detection/gesture_detector.h" 5 #include "ui/events/gesture_detection/gesture_detector.h"
6 6
7 #include <cmath> 7 #include <cmath>
8 8
9 #include "base/timer/timer.h" 9 #include "base/timer/timer.h"
10 #include "ui/events/gesture_detection/motion_event.h" 10 #include "ui/events/gesture_detection/motion_event.h"
(...skipping 246 matching lines...) Expand 10 before | Expand all | Expand 10 after
257 257
258 case MotionEvent::ACTION_MOVE: 258 case MotionEvent::ACTION_MOVE:
259 if (in_longpress_) 259 if (in_longpress_)
260 break; 260 break;
261 261
262 { 262 {
263 const float scroll_x = last_focus_x_ - focus_x; 263 const float scroll_x = last_focus_x_ - focus_x;
264 const float scroll_y = last_focus_y_ - focus_y; 264 const float scroll_y = last_focus_y_ - focus_y;
265 if (is_double_tapping_) { 265 if (is_double_tapping_) {
266 // Give the move events of the double-tap. 266 // Give the move events of the double-tap.
267 DCHECK(double_tap_listener_);
267 handled |= double_tap_listener_->OnDoubleTapEvent(ev); 268 handled |= double_tap_listener_->OnDoubleTapEvent(ev);
268 } else if (always_in_tap_region_) { 269 } else if (always_in_tap_region_) {
269 const int delta_x = static_cast<int>(focus_x - down_focus_x_); 270 const int delta_x = static_cast<int>(focus_x - down_focus_x_);
270 const int delta_y = static_cast<int>(focus_y - down_focus_y_); 271 const int delta_y = static_cast<int>(focus_y - down_focus_y_);
271 int distance = (delta_x * delta_x) + (delta_y * delta_y); 272 int distance = (delta_x * delta_x) + (delta_y * delta_y);
272 if (distance > touch_slop_square_) { 273 if (distance > touch_slop_square_) {
273 handled = listener_->OnScroll( 274 handled = listener_->OnScroll(
274 *current_down_event_, ev, scroll_x, scroll_y); 275 *current_down_event_, ev, scroll_x, scroll_y);
275 last_focus_x_ = focus_x; 276 last_focus_x_ = focus_x;
276 last_focus_y_ = focus_y; 277 last_focus_y_ = focus_y;
277 always_in_tap_region_ = false; 278 always_in_tap_region_ = false;
278 timeout_handler_->Stop(); 279 timeout_handler_->Stop();
279 } 280 }
280 if (distance > double_tap_touch_slop_square_) 281 if (distance > double_tap_touch_slop_square_)
281 always_in_bigger_tap_region_ = false; 282 always_in_bigger_tap_region_ = false;
282 } else if ((std::abs(scroll_x) >= 1) || (std::abs(scroll_y) >= 1)) { 283 } else if ((std::abs(scroll_x) >= 1) || (std::abs(scroll_y) >= 1)) {
283 handled = 284 handled =
284 listener_->OnScroll(*current_down_event_, ev, scroll_x, scroll_y); 285 listener_->OnScroll(*current_down_event_, ev, scroll_x, scroll_y);
285 last_focus_x_ = focus_x; 286 last_focus_x_ = focus_x;
286 last_focus_y_ = focus_y; 287 last_focus_y_ = focus_y;
287 } 288 }
288 } 289 }
289 break; 290 break;
290 291
291 case MotionEvent::ACTION_UP: 292 case MotionEvent::ACTION_UP:
292 still_down_ = false; 293 still_down_ = false;
293 { 294 {
294 if (is_double_tapping_) { 295 if (is_double_tapping_) {
295 // Finally, give the up event of the double-tap. 296 // Finally, give the up event of the double-tap.
297 DCHECK(double_tap_listener_);
296 handled |= double_tap_listener_->OnDoubleTapEvent(ev); 298 handled |= double_tap_listener_->OnDoubleTapEvent(ev);
297 } else if (in_longpress_) { 299 } else if (in_longpress_) {
298 timeout_handler_->StopTimeout(TAP); 300 timeout_handler_->StopTimeout(TAP);
299 in_longpress_ = false; 301 in_longpress_ = false;
300 } else if (always_in_tap_region_) { 302 } else if (always_in_tap_region_) {
301 handled = listener_->OnSingleTapUp(ev); 303 handled = listener_->OnSingleTapUp(ev);
302 if (defer_confirm_single_tap_ && double_tap_listener_ != NULL) { 304 if (defer_confirm_single_tap_ && double_tap_listener_ != NULL) {
303 double_tap_listener_->OnSingleTapConfirmed(ev); 305 double_tap_listener_->OnSingleTapConfirmed(ev);
304 } 306 }
305 } else { 307 } else {
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after
398 if (second_down.GetEventTime() - first_up.GetEventTime() > 400 if (second_down.GetEventTime() - first_up.GetEventTime() >
399 double_tap_timeout_) 401 double_tap_timeout_)
400 return false; 402 return false;
401 403
402 int delta_x = static_cast<int>(first_down.GetX() - second_down.GetX()); 404 int delta_x = static_cast<int>(first_down.GetX() - second_down.GetX());
403 int delta_y = static_cast<int>(first_down.GetY() - second_down.GetY()); 405 int delta_y = static_cast<int>(first_down.GetY() - second_down.GetY());
404 return (delta_x * delta_x + delta_y * delta_y < double_tap_slop_square_); 406 return (delta_x * delta_x + delta_y * delta_y < double_tap_slop_square_);
405 } 407 }
406 408
407 } // namespace ui 409 } // namespace ui
OLDNEW
« no previous file with comments | « ui/events/gesture_detection/gesture_detector.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698