| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 "content/browser/renderer_host/input/synthetic_smooth_move_gesture.h" | 5 #include "content/browser/renderer_host/input/synthetic_smooth_move_gesture.h" |
| 6 | 6 |
| 7 #include <stdint.h> | 7 #include <stdint.h> |
| 8 | 8 |
| 9 #include "base/logging.h" | 9 #include "base/logging.h" |
| 10 #include "ui/gfx/geometry/point_f.h" | 10 #include "ui/gfx/geometry/point_f.h" |
| (...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 60 const base::TimeTicks& timestamp, | 60 const base::TimeTicks& timestamp, |
| 61 SyntheticGestureTarget* target) { | 61 SyntheticGestureTarget* target) { |
| 62 if (state_ == SETUP) { | 62 if (state_ == SETUP) { |
| 63 state_ = STARTED; | 63 state_ = STARTED; |
| 64 current_move_segment_ = -1; | 64 current_move_segment_ = -1; |
| 65 current_move_segment_stop_time_ = timestamp; | 65 current_move_segment_stop_time_ = timestamp; |
| 66 } | 66 } |
| 67 | 67 |
| 68 switch (params_.input_type) { | 68 switch (params_.input_type) { |
| 69 case SyntheticSmoothMoveGestureParams::TOUCH_INPUT: | 69 case SyntheticSmoothMoveGestureParams::TOUCH_INPUT: |
| 70 if (!synthetic_pointer_) | 70 if (!synthetic_pointer_driver_) |
| 71 synthetic_pointer_ = | 71 synthetic_pointer_driver_ = |
| 72 SyntheticPointer::Create(SyntheticGestureParams::TOUCH_INPUT); | 72 SyntheticPointerDriver::Create(SyntheticGestureParams::TOUCH_INPUT); |
| 73 ForwardTouchInputEvents(timestamp, target); | 73 ForwardTouchInputEvents(timestamp, target); |
| 74 break; | 74 break; |
| 75 case SyntheticSmoothMoveGestureParams::MOUSE_DRAG_INPUT: | 75 case SyntheticSmoothMoveGestureParams::MOUSE_DRAG_INPUT: |
| 76 if (!synthetic_pointer_) | 76 if (!synthetic_pointer_driver_) |
| 77 synthetic_pointer_ = | 77 synthetic_pointer_driver_ = |
| 78 SyntheticPointer::Create(SyntheticGestureParams::MOUSE_INPUT); | 78 SyntheticPointerDriver::Create(SyntheticGestureParams::MOUSE_INPUT); |
| 79 ForwardMouseClickInputEvents(timestamp, target); | 79 ForwardMouseClickInputEvents(timestamp, target); |
| 80 break; | 80 break; |
| 81 case SyntheticSmoothMoveGestureParams::MOUSE_WHEEL_INPUT: | 81 case SyntheticSmoothMoveGestureParams::MOUSE_WHEEL_INPUT: |
| 82 ForwardMouseWheelInputEvents(timestamp, target); | 82 ForwardMouseWheelInputEvents(timestamp, target); |
| 83 break; | 83 break; |
| 84 default: | 84 default: |
| 85 return SyntheticGesture::GESTURE_SOURCE_TYPE_NOT_IMPLEMENTED; | 85 return SyntheticGesture::GESTURE_SOURCE_TYPE_NOT_IMPLEMENTED; |
| 86 } | 86 } |
| 87 return (state_ == DONE) ? SyntheticGesture::GESTURE_FINISHED | 87 return (state_ == DONE) ? SyntheticGesture::GESTURE_FINISHED |
| 88 : SyntheticGesture::GESTURE_RUNNING; | 88 : SyntheticGesture::GESTURE_RUNNING; |
| (...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 249 mouse_wheel_event.y = current_move_segment_start_position_.y(); | 249 mouse_wheel_event.y = current_move_segment_start_position_.y(); |
| 250 | 250 |
| 251 mouse_wheel_event.timeStampSeconds = ConvertTimestampToSeconds(timestamp); | 251 mouse_wheel_event.timeStampSeconds = ConvertTimestampToSeconds(timestamp); |
| 252 | 252 |
| 253 target->DispatchInputEventToPlatform(mouse_wheel_event); | 253 target->DispatchInputEventToPlatform(mouse_wheel_event); |
| 254 } | 254 } |
| 255 | 255 |
| 256 void SyntheticSmoothMoveGesture::PressPoint(SyntheticGestureTarget* target, | 256 void SyntheticSmoothMoveGesture::PressPoint(SyntheticGestureTarget* target, |
| 257 const base::TimeTicks& timestamp) { | 257 const base::TimeTicks& timestamp) { |
| 258 DCHECK_EQ(current_move_segment_, 0); | 258 DCHECK_EQ(current_move_segment_, 0); |
| 259 synthetic_pointer_->Press(current_move_segment_start_position_.x(), | 259 synthetic_pointer_driver_->Press(current_move_segment_start_position_.x(), |
| 260 current_move_segment_start_position_.y(), target, | 260 current_move_segment_start_position_.y()); |
| 261 timestamp); | 261 synthetic_pointer_driver_->DispatchEvent(target, timestamp); |
| 262 synthetic_pointer_->DispatchEvent(target, timestamp); | |
| 263 } | 262 } |
| 264 | 263 |
| 265 void SyntheticSmoothMoveGesture::MovePoint(SyntheticGestureTarget* target, | 264 void SyntheticSmoothMoveGesture::MovePoint(SyntheticGestureTarget* target, |
| 266 const gfx::Vector2dF& delta, | 265 const gfx::Vector2dF& delta, |
| 267 const base::TimeTicks& timestamp) { | 266 const base::TimeTicks& timestamp) { |
| 268 DCHECK_GE(current_move_segment_, 0); | 267 DCHECK_GE(current_move_segment_, 0); |
| 269 DCHECK_LT(current_move_segment_, static_cast<int>(params_.distances.size())); | 268 DCHECK_LT(current_move_segment_, static_cast<int>(params_.distances.size())); |
| 270 gfx::PointF new_position = current_move_segment_start_position_ + delta; | 269 gfx::PointF new_position = current_move_segment_start_position_ + delta; |
| 271 synthetic_pointer_->Move(0, new_position.x(), new_position.y(), target, | 270 synthetic_pointer_driver_->Move(new_position.x(), new_position.y()); |
| 272 timestamp); | 271 synthetic_pointer_driver_->DispatchEvent(target, timestamp); |
| 273 synthetic_pointer_->DispatchEvent(target, timestamp); | |
| 274 } | 272 } |
| 275 | 273 |
| 276 void SyntheticSmoothMoveGesture::ReleasePoint( | 274 void SyntheticSmoothMoveGesture::ReleasePoint( |
| 277 SyntheticGestureTarget* target, | 275 SyntheticGestureTarget* target, |
| 278 const base::TimeTicks& timestamp) { | 276 const base::TimeTicks& timestamp) { |
| 279 DCHECK_EQ(current_move_segment_, | 277 DCHECK_EQ(current_move_segment_, |
| 280 static_cast<int>(params_.distances.size()) - 1); | 278 static_cast<int>(params_.distances.size()) - 1); |
| 281 gfx::PointF position; | 279 gfx::PointF position; |
| 282 if (params_.input_type == | 280 if (params_.input_type == |
| 283 SyntheticSmoothMoveGestureParams::MOUSE_DRAG_INPUT) { | 281 SyntheticSmoothMoveGestureParams::MOUSE_DRAG_INPUT) { |
| 284 position = current_move_segment_start_position_ + | 282 position = current_move_segment_start_position_ + |
| 285 GetPositionDeltaAtTime(timestamp); | 283 GetPositionDeltaAtTime(timestamp); |
| 286 } | 284 } |
| 287 synthetic_pointer_->Release(0, target, timestamp); | 285 synthetic_pointer_driver_->Release(); |
| 288 synthetic_pointer_->DispatchEvent(target, timestamp); | 286 synthetic_pointer_driver_->DispatchEvent(target, timestamp); |
| 289 } | 287 } |
| 290 | 288 |
| 291 void SyntheticSmoothMoveGesture::AddTouchSlopToFirstDistance( | 289 void SyntheticSmoothMoveGesture::AddTouchSlopToFirstDistance( |
| 292 SyntheticGestureTarget* target) { | 290 SyntheticGestureTarget* target) { |
| 293 DCHECK_GE(params_.distances.size(), 1ul); | 291 DCHECK_GE(params_.distances.size(), 1ul); |
| 294 gfx::Vector2dF& first_move_distance = params_.distances[0]; | 292 gfx::Vector2dF& first_move_distance = params_.distances[0]; |
| 295 DCHECK_GT(first_move_distance.Length(), 0); | 293 DCHECK_GT(first_move_distance.Length(), 0); |
| 296 first_move_distance += CeilFromZero(ProjectScalarOntoVector( | 294 first_move_distance += CeilFromZero(ProjectScalarOntoVector( |
| 297 target->GetTouchSlopInDips(), first_move_distance)); | 295 target->GetTouchSlopInDips(), first_move_distance)); |
| 298 } | 296 } |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 338 DCHECK_LT(current_move_segment_, static_cast<int>(params_.distances.size())); | 336 DCHECK_LT(current_move_segment_, static_cast<int>(params_.distances.size())); |
| 339 return current_move_segment_ == | 337 return current_move_segment_ == |
| 340 static_cast<int>(params_.distances.size()) - 1; | 338 static_cast<int>(params_.distances.size()) - 1; |
| 341 } | 339 } |
| 342 | 340 |
| 343 bool SyntheticSmoothMoveGesture::MoveIsNoOp() const { | 341 bool SyntheticSmoothMoveGesture::MoveIsNoOp() const { |
| 344 return params_.distances.size() == 0 || params_.distances[0].IsZero(); | 342 return params_.distances.size() == 0 || params_.distances[0].IsZero(); |
| 345 } | 343 } |
| 346 | 344 |
| 347 } // namespace content | 345 } // namespace content |
| OLD | NEW |