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

Side by Side Diff: ui/aura/gestures/gesture_point.cc

Issue 9751011: Gesture recognition constants should all be stored in the GestureConfiguration object. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Protect unit tests from changes in GestureConfiguration. Created 8 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
OLDNEW
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/aura/gestures/gesture_point.h" 5 #include "ui/aura/gestures/gesture_point.h"
6 6
7 #include <cmath> 7 #include <cmath>
8 8
9 #include "base/basictypes.h" 9 #include "base/basictypes.h"
10 #include "ui/aura/event.h" 10 #include "ui/aura/event.h"
11 #include "ui/aura/gestures/gesture_configuration.h" 11 #include "ui/aura/gestures/gesture_configuration.h"
12 #include "ui/base/events.h" 12 #include "ui/base/events.h"
13 13
14 namespace {
15
16 const int kMinRailBreakVelocity = 200;
17 const int kMinScrollDeltaSquared = 5 * 5;
18 const int kRailBreakProportion = 15;
19 const int kRailStartProportion = 2;
20 const int kBufferedPoints = 10;
21
22 } // namespace
23
24 namespace aura { 14 namespace aura {
25 15
26 GesturePoint::GesturePoint() 16 GesturePoint::GesturePoint()
27 : first_touch_time_(0.0), 17 : first_touch_time_(0.0),
28 last_touch_time_(0.0), 18 last_touch_time_(0.0),
29 last_tap_time_(0.0), 19 last_tap_time_(0.0),
30 velocity_calculator_(kBufferedPoints), 20 velocity_calculator_(
21 GestureConfiguration::points_buffered_for_velocity()),
girard 2012/03/20 18:30:59 As per my other comment. This should not be confi
31 point_id_(-1) { 22 point_id_(-1) {
32 } 23 }
33 24
34 GesturePoint::~GesturePoint() {} 25 GesturePoint::~GesturePoint() {}
35 26
36 void GesturePoint::Reset() { 27 void GesturePoint::Reset() {
37 first_touch_time_ = last_touch_time_ = 0.0; 28 first_touch_time_ = last_touch_time_ = 0.0;
38 velocity_calculator_.ClearHistory(); 29 velocity_calculator_.ClearHistory();
39 point_id_ = -1; 30 point_id_ = -1;
40 } 31 }
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
103 float x_diff = point.last_touch_position_.x() - last_touch_position_.x(); 94 float x_diff = point.last_touch_position_.x() - last_touch_position_.x();
104 float y_diff = point.last_touch_position_.y() - last_touch_position_.y(); 95 float y_diff = point.last_touch_position_.y() - last_touch_position_.y();
105 return sqrt(x_diff * x_diff + y_diff * y_diff); 96 return sqrt(x_diff * x_diff + y_diff * y_diff);
106 } 97 }
107 98
108 bool GesturePoint::HasEnoughDataToEstablishRail() const { 99 bool GesturePoint::HasEnoughDataToEstablishRail() const {
109 int dx = x_delta(); 100 int dx = x_delta();
110 int dy = y_delta(); 101 int dy = y_delta();
111 102
112 int delta_squared = dx * dx + dy * dy; 103 int delta_squared = dx * dx + dy * dy;
113 return delta_squared > kMinScrollDeltaSquared; 104 return delta_squared > GestureConfiguration::min_scroll_delta_squared();
114 } 105 }
115 106
116 bool GesturePoint::IsInHorizontalRailWindow() const { 107 bool GesturePoint::IsInHorizontalRailWindow() const {
117 int dx = x_delta(); 108 int dx = x_delta();
118 int dy = y_delta(); 109 int dy = y_delta();
119 return abs(dx) > kRailStartProportion * abs(dy); 110 return abs(dx) > GestureConfiguration::rail_start_proportion() * abs(dy);
120 } 111 }
121 112
122 bool GesturePoint::IsInVerticalRailWindow() const { 113 bool GesturePoint::IsInVerticalRailWindow() const {
123 int dx = x_delta(); 114 int dx = x_delta();
124 int dy = y_delta(); 115 int dy = y_delta();
125 return abs(dy) > kRailStartProportion * abs(dx); 116 return abs(dy) > GestureConfiguration::rail_start_proportion() * abs(dx);
126 } 117 }
127 118
128 bool GesturePoint::BreaksHorizontalRail() { 119 bool GesturePoint::BreaksHorizontalRail() {
129 float vx = XVelocity(); 120 float vx = XVelocity();
130 float vy = YVelocity(); 121 float vy = YVelocity();
131 return fabs(vy) > kRailBreakProportion * fabs(vx) + kMinRailBreakVelocity; 122 return fabs(vy) > GestureConfiguration::rail_break_proportion() * fabs(vx) +
123 GestureConfiguration::min_rail_break_velocity();
132 } 124 }
133 125
134 bool GesturePoint::BreaksVerticalRail() { 126 bool GesturePoint::BreaksVerticalRail() {
135 float vx = XVelocity(); 127 float vx = XVelocity();
136 float vy = YVelocity(); 128 float vy = YVelocity();
137 return fabs(vx) > kRailBreakProportion * fabs(vy) + kMinRailBreakVelocity; 129 return fabs(vx) > GestureConfiguration::rail_break_proportion() * fabs(vy) +
130 GestureConfiguration::min_rail_break_velocity();
138 } 131 }
139 132
140 bool GesturePoint::IsInClickTimeWindow() const { 133 bool GesturePoint::IsInClickTimeWindow() const {
141 double duration = last_touch_time_ - first_touch_time_; 134 double duration = last_touch_time_ - first_touch_time_;
142 return duration >= 135 return duration >=
143 GestureConfiguration::min_touch_down_duration_in_seconds_for_click() && 136 GestureConfiguration::min_touch_down_duration_in_seconds_for_click() &&
144 duration < 137 duration <
145 GestureConfiguration::max_touch_down_duration_in_seconds_for_click(); 138 GestureConfiguration::max_touch_down_duration_in_seconds_for_click();
146 } 139 }
147 140
(...skipping 16 matching lines...) Expand all
164 return manhattanDistance < 157 return manhattanDistance <
165 GestureConfiguration::max_touch_move_in_pixels_for_click(); 158 GestureConfiguration::max_touch_move_in_pixels_for_click();
166 } 159 }
167 160
168 bool GesturePoint::IsOverMinFlickSpeed() { 161 bool GesturePoint::IsOverMinFlickSpeed() {
169 return velocity_calculator_.VelocitySquared() > 162 return velocity_calculator_.VelocitySquared() >
170 GestureConfiguration::min_flick_speed_squared(); 163 GestureConfiguration::min_flick_speed_squared();
171 } 164 }
172 165
173 } // namespace aura 166 } // namespace aura
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698