OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 // MSVC++ requires this to be set before any other includes to get M_PI. | 5 // MSVC++ requires this to be set before any other includes to get M_PI. |
6 #define _USE_MATH_DEFINES | 6 #define _USE_MATH_DEFINES |
7 | 7 |
8 #include "ui/events/blink/blink_event_util.h" | 8 #include "ui/events/blink/blink_event_util.h" |
9 | 9 |
10 #include <cmath> | 10 #include <cmath> |
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
118 touch.radiusX = major_radius; | 118 touch.radiusX = major_radius; |
119 touch.radiusY = minor_radius; | 119 touch.radiusY = minor_radius; |
120 touch.rotationAngle = orientation_deg + 90; | 120 touch.rotationAngle = orientation_deg + 90; |
121 } | 121 } |
122 | 122 |
123 touch.force = event.GetPressure(pointer_index); | 123 touch.force = event.GetPressure(pointer_index); |
124 | 124 |
125 return touch; | 125 return touch; |
126 } | 126 } |
127 | 127 |
| 128 WebGestureEvent::RailsMode ToRailsMode( |
| 129 GestureEventDetails::ScrollRailState scroll_rail_state) { |
| 130 switch(scroll_rail_state) { |
| 131 case GestureEventDetails::ScrollRailState::Horizontal: |
| 132 return WebGestureEvent::RailsModeHorizontal; |
| 133 case GestureEventDetails::ScrollRailState::Vertical: |
| 134 return WebGestureEvent::RailsModeVertical; |
| 135 case GestureEventDetails::ScrollRailState::Free: |
| 136 return WebGestureEvent::RailsModeFree; |
| 137 default: |
| 138 NOTREACHED() << "Invalid rail mode"; |
| 139 return WebGestureEvent::RailsModeFree; |
| 140 } |
| 141 } |
| 142 |
128 } // namespace | 143 } // namespace |
129 | 144 |
130 blink::WebTouchEvent CreateWebTouchEventFromMotionEvent( | 145 blink::WebTouchEvent CreateWebTouchEventFromMotionEvent( |
131 const MotionEvent& event, | 146 const MotionEvent& event, |
132 bool may_cause_scrolling) { | 147 bool may_cause_scrolling) { |
133 static_assert(static_cast<int>(MotionEvent::MAX_TOUCH_POINT_COUNT) == | 148 static_assert(static_cast<int>(MotionEvent::MAX_TOUCH_POINT_COUNT) == |
134 static_cast<int>(blink::WebTouchEvent::touchesLengthCap), | 149 static_cast<int>(blink::WebTouchEvent::touchesLengthCap), |
135 "inconsistent maximum number of active touch points"); | 150 "inconsistent maximum number of active touch points"); |
136 | 151 |
137 blink::WebTouchEvent result; | 152 blink::WebTouchEvent result; |
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
242 gesture.type = WebInputEvent::GestureScrollBegin; | 257 gesture.type = WebInputEvent::GestureScrollBegin; |
243 gesture.data.scrollBegin.deltaXHint = details.scroll_x_hint(); | 258 gesture.data.scrollBegin.deltaXHint = details.scroll_x_hint(); |
244 gesture.data.scrollBegin.deltaYHint = details.scroll_y_hint(); | 259 gesture.data.scrollBegin.deltaYHint = details.scroll_y_hint(); |
245 break; | 260 break; |
246 case ET_GESTURE_SCROLL_UPDATE: | 261 case ET_GESTURE_SCROLL_UPDATE: |
247 gesture.type = WebInputEvent::GestureScrollUpdate; | 262 gesture.type = WebInputEvent::GestureScrollUpdate; |
248 gesture.data.scrollUpdate.deltaX = details.scroll_x(); | 263 gesture.data.scrollUpdate.deltaX = details.scroll_x(); |
249 gesture.data.scrollUpdate.deltaY = details.scroll_y(); | 264 gesture.data.scrollUpdate.deltaY = details.scroll_y(); |
250 gesture.data.scrollUpdate.previousUpdateInSequencePrevented = | 265 gesture.data.scrollUpdate.previousUpdateInSequencePrevented = |
251 details.previous_scroll_update_in_sequence_prevented(); | 266 details.previous_scroll_update_in_sequence_prevented(); |
| 267 gesture.data.scrollUpdate.railsMode = |
| 268 ToRailsMode(details.scroll_rail_state()); |
252 break; | 269 break; |
253 case ET_GESTURE_SCROLL_END: | 270 case ET_GESTURE_SCROLL_END: |
254 gesture.type = WebInputEvent::GestureScrollEnd; | 271 gesture.type = WebInputEvent::GestureScrollEnd; |
255 break; | 272 break; |
256 case ET_SCROLL_FLING_START: | 273 case ET_SCROLL_FLING_START: |
257 gesture.type = WebInputEvent::GestureFlingStart; | 274 gesture.type = WebInputEvent::GestureFlingStart; |
258 gesture.data.flingStart.velocityX = details.velocity_x(); | 275 gesture.data.flingStart.velocityX = details.velocity_x(); |
259 gesture.data.flingStart.velocityY = details.velocity_y(); | 276 gesture.data.flingStart.velocityY = details.velocity_y(); |
| 277 gesture.data.flingStart.railsMode = |
| 278 ToRailsMode(details.scroll_rail_state()); |
260 break; | 279 break; |
261 case ET_SCROLL_FLING_CANCEL: | 280 case ET_SCROLL_FLING_CANCEL: |
262 gesture.type = WebInputEvent::GestureFlingCancel; | 281 gesture.type = WebInputEvent::GestureFlingCancel; |
263 break; | 282 break; |
264 case ET_GESTURE_PINCH_BEGIN: | 283 case ET_GESTURE_PINCH_BEGIN: |
265 gesture.type = WebInputEvent::GesturePinchBegin; | 284 gesture.type = WebInputEvent::GesturePinchBegin; |
266 break; | 285 break; |
267 case ET_GESTURE_PINCH_UPDATE: | 286 case ET_GESTURE_PINCH_UPDATE: |
268 gesture.type = WebInputEvent::GesturePinchUpdate; | 287 gesture.type = WebInputEvent::GesturePinchUpdate; |
269 gesture.data.pinchUpdate.scale = details.scale(); | 288 gesture.data.pinchUpdate.scale = details.scale(); |
(...skipping 24 matching lines...) Expand all Loading... |
294 } | 313 } |
295 | 314 |
296 WebGestureEvent CreateWebGestureEventFromGestureEventData( | 315 WebGestureEvent CreateWebGestureEventFromGestureEventData( |
297 const GestureEventData& data) { | 316 const GestureEventData& data) { |
298 return CreateWebGestureEvent(data.details, data.time - base::TimeTicks(), | 317 return CreateWebGestureEvent(data.details, data.time - base::TimeTicks(), |
299 gfx::PointF(data.x, data.y), | 318 gfx::PointF(data.x, data.y), |
300 gfx::PointF(data.raw_x, data.raw_y), data.flags); | 319 gfx::PointF(data.raw_x, data.raw_y), data.flags); |
301 } | 320 } |
302 | 321 |
303 } // namespace ui | 322 } // namespace ui |
OLD | NEW |