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

Side by Side Diff: ui/events/gestures/gesture_provider_aura.cc

Issue 321563002: Support minimum gesture bounds in GestureProvider (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix compile Created 6 years, 6 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_event_details.cc ('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/gestures/gesture_provider_aura.h" 5 #include "ui/events/gestures/gesture_provider_aura.h"
6 6
7 #include "base/auto_reset.h" 7 #include "base/auto_reset.h"
8 #include "base/logging.h" 8 #include "base/logging.h"
9 #include "ui/events/event.h" 9 #include "ui/events/event.h"
10 #include "ui/events/gesture_detection/gesture_config_helper.h" 10 #include "ui/events/gesture_detection/gesture_config_helper.h"
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
55 DCHECK(!handling_event_); 55 DCHECK(!handling_event_);
56 base::AutoReset<bool> handling_event(&handling_event_, true); 56 base::AutoReset<bool> handling_event(&handling_event_, true);
57 filtered_gesture_provider_.OnTouchEventAck(event_consumed); 57 filtered_gesture_provider_.OnTouchEventAck(event_consumed);
58 last_touch_event_latency_info_.Clear(); 58 last_touch_event_latency_info_.Clear();
59 } 59 }
60 60
61 void GestureProviderAura::OnGestureEvent( 61 void GestureProviderAura::OnGestureEvent(
62 const GestureEventData& gesture) { 62 const GestureEventData& gesture) {
63 GestureEventDetails details = gesture.details; 63 GestureEventDetails details = gesture.details;
64 64
65 if (gesture.type == ET_GESTURE_TAP) { 65 if (gesture.type() == ET_GESTURE_TAP) {
66 int tap_count = 1; 66 int tap_count = 1;
67 if (previous_tap_ && IsConsideredDoubleTap(*previous_tap_, gesture)) 67 if (previous_tap_ && IsConsideredDoubleTap(*previous_tap_, gesture))
68 tap_count = 1 + (previous_tap_->details.tap_count() % 3); 68 tap_count = 1 + (previous_tap_->details.tap_count() % 3);
69 details.set_tap_count(tap_count); 69 details.set_tap_count(tap_count);
70 if (!previous_tap_) 70 if (!previous_tap_)
71 previous_tap_.reset(new GestureEventData(gesture)); 71 previous_tap_.reset(new GestureEventData(gesture));
72 else 72 else
73 *previous_tap_ = gesture; 73 *previous_tap_ = gesture;
74 previous_tap_->details = details; 74 previous_tap_->details = details;
75 } else if (gesture.type == ET_GESTURE_TAP_CANCEL) { 75 } else if (gesture.type() == ET_GESTURE_TAP_CANCEL) {
76 previous_tap_.reset(); 76 previous_tap_.reset();
77 } 77 }
78 78
79 scoped_ptr<ui::GestureEvent> event( 79 scoped_ptr<ui::GestureEvent> event(
80 new ui::GestureEvent(gesture.type, 80 new ui::GestureEvent(gesture.type(),
81 gesture.x, 81 gesture.x,
82 gesture.y, 82 gesture.y,
83 last_touch_event_flags_, 83 last_touch_event_flags_,
84 gesture.time - base::TimeTicks(), 84 gesture.time - base::TimeTicks(),
85 details, 85 details,
86 // ui::GestureEvent stores a bitfield indicating the 86 // ui::GestureEvent stores a bitfield indicating the
87 // ids of active touch points. This is currently only 87 // ids of active touch points. This is currently only
88 // used when one finger is down, and will eventually 88 // used when one finger is down, and will eventually
89 // be cleaned up. See crbug.com/366707. 89 // be cleaned up. See crbug.com/366707.
90 1 << gesture.motion_event_id)); 90 1 << gesture.motion_event_id));
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
133 133
134 double double_tap_slop_square = 134 double double_tap_slop_square =
135 GestureConfiguration::max_distance_between_taps_for_double_tap(); 135 GestureConfiguration::max_distance_between_taps_for_double_tap();
136 double_tap_slop_square *= double_tap_slop_square; 136 double_tap_slop_square *= double_tap_slop_square;
137 const float delta_x = previous_tap.x - current_tap.x; 137 const float delta_x = previous_tap.x - current_tap.x;
138 const float delta_y = previous_tap.y - current_tap.y; 138 const float delta_y = previous_tap.y - current_tap.y;
139 return (delta_x * delta_x + delta_y * delta_y < double_tap_slop_square); 139 return (delta_x * delta_x + delta_y * delta_y < double_tap_slop_square);
140 } 140 }
141 141
142 } // namespace content 142 } // namespace content
OLDNEW
« no previous file with comments | « ui/events/gesture_event_details.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698