| OLD | NEW |
| 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/base/gestures/gesture_sequence.h" | 5 #include "ui/base/gestures/gesture_sequence.h" |
| 6 | 6 |
| 7 #include <cmath> | 7 #include <cmath> |
| 8 #include <stdlib.h> | 8 #include <stdlib.h> |
| 9 | 9 |
| 10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
| (...skipping 728 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 739 if (scroll_type_ == ST_HORIZONTAL) | 739 if (scroll_type_ == ST_HORIZONTAL) |
| 740 railed_y_velocity = 0; | 740 railed_y_velocity = 0; |
| 741 else if (scroll_type_ == ST_VERTICAL) | 741 else if (scroll_type_ == ST_VERTICAL) |
| 742 railed_x_velocity = 0; | 742 railed_x_velocity = 0; |
| 743 | 743 |
| 744 if (railed_x_velocity != 0 || railed_y_velocity != 0) { | 744 if (railed_x_velocity != 0 || railed_y_velocity != 0) { |
| 745 | 745 |
| 746 gestures->push_back(CreateGestureEvent( | 746 gestures->push_back(CreateGestureEvent( |
| 747 GestureEventDetails(ui::ET_SCROLL_FLING_START, | 747 GestureEventDetails(ui::ET_SCROLL_FLING_START, |
| 748 CalibrateFlingVelocity(railed_x_velocity), | 748 CalibrateFlingVelocity(railed_x_velocity), |
| 749 CalibrateFlingVelocity(railed_y_velocity)), | 749 CalibrateFlingVelocity(railed_y_velocity), |
| 750 CalibrateFlingVelocity(x_velocity), |
| 751 CalibrateFlingVelocity(y_velocity)), |
| 750 location, | 752 location, |
| 751 flags_, | 753 flags_, |
| 752 base::Time::FromDoubleT(point.last_touch_time()), | 754 base::Time::FromDoubleT(point.last_touch_time()), |
| 753 1 << point.touch_id())); | 755 1 << point.touch_id())); |
| 754 } else { | 756 } else { |
| 755 gestures->push_back(CreateGestureEvent( | 757 gestures->push_back(CreateGestureEvent( |
| 756 GestureEventDetails(ui::ET_GESTURE_SCROLL_END, 0, 0), | 758 GestureEventDetails(ui::ET_GESTURE_SCROLL_END, 0, 0), |
| 757 location, | 759 location, |
| 758 flags_, | 760 flags_, |
| 759 base::Time::FromDoubleT(point.last_touch_time()), | 761 base::Time::FromDoubleT(point.last_touch_time()), |
| (...skipping 22 matching lines...) Expand all Loading... |
| 782 d -= last_scroll_prediction_offset_; | 784 d -= last_scroll_prediction_offset_; |
| 783 last_scroll_prediction_offset_.set_x( | 785 last_scroll_prediction_offset_.set_x( |
| 784 GestureConfiguration::scroll_prediction_seconds() * point.XVelocity()); | 786 GestureConfiguration::scroll_prediction_seconds() * point.XVelocity()); |
| 785 last_scroll_prediction_offset_.set_y( | 787 last_scroll_prediction_offset_.set_y( |
| 786 GestureConfiguration::scroll_prediction_seconds() * point.YVelocity()); | 788 GestureConfiguration::scroll_prediction_seconds() * point.YVelocity()); |
| 787 d += last_scroll_prediction_offset_; | 789 d += last_scroll_prediction_offset_; |
| 788 location += gfx::Vector2d(last_scroll_prediction_offset_.x(), | 790 location += gfx::Vector2d(last_scroll_prediction_offset_.x(), |
| 789 last_scroll_prediction_offset_.y()); | 791 last_scroll_prediction_offset_.y()); |
| 790 } | 792 } |
| 791 | 793 |
| 794 gfx::Vector2dF o = d; |
| 795 |
| 792 if (scroll_type_ == ST_HORIZONTAL) | 796 if (scroll_type_ == ST_HORIZONTAL) |
| 793 d.set_y(0); | 797 d.set_y(0); |
| 794 else if (scroll_type_ == ST_VERTICAL) | 798 else if (scroll_type_ == ST_VERTICAL) |
| 795 d.set_x(0); | 799 d.set_x(0); |
| 796 if (d.IsZero()) | 800 if (d.IsZero()) |
| 797 return; | 801 return; |
| 798 | 802 |
| 799 GestureEventDetails details(ui::ET_GESTURE_SCROLL_UPDATE, d.x(), d.y()); | 803 GestureEventDetails details(ui::ET_GESTURE_SCROLL_UPDATE, |
| 804 d.x(), d.y(), o.x(), o.y()); |
| 800 details.SetScrollVelocity( | 805 details.SetScrollVelocity( |
| 801 scroll_type_ == ST_VERTICAL ? 0 : point.XVelocity(), | 806 scroll_type_ == ST_VERTICAL ? 0 : point.XVelocity(), |
| 802 scroll_type_ == ST_HORIZONTAL ? 0 : point.YVelocity()); | 807 scroll_type_ == ST_HORIZONTAL ? 0 : point.YVelocity(), |
| 808 point.XVelocity(), |
| 809 point.YVelocity()); |
| 803 gestures->push_back(CreateGestureEvent( | 810 gestures->push_back(CreateGestureEvent( |
| 804 details, | 811 details, |
| 805 location, | 812 location, |
| 806 flags_, | 813 flags_, |
| 807 base::Time::FromDoubleT(point.last_touch_time()), | 814 base::Time::FromDoubleT(point.last_touch_time()), |
| 808 ComputeTouchBitmask(points_))); | 815 ComputeTouchBitmask(points_))); |
| 809 } | 816 } |
| 810 | 817 |
| 811 void GestureSequence::AppendPinchGestureBegin(const GesturePoint& p1, | 818 void GestureSequence::AppendPinchGestureBegin(const GesturePoint& p1, |
| 812 const GesturePoint& p2, | 819 const GesturePoint& p2, |
| (...skipping 357 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1170 return; | 1177 return; |
| 1171 | 1178 |
| 1172 // Since long press timer has been started, there should be a non-NULL point. | 1179 // Since long press timer has been started, there should be a non-NULL point. |
| 1173 const GesturePoint* point = GetPointByPointId(0); | 1180 const GesturePoint* point = GetPointByPointId(0); |
| 1174 if (!ui::gestures::IsInsideManhattanSquare(point->first_touch_position(), | 1181 if (!ui::gestures::IsInsideManhattanSquare(point->first_touch_position(), |
| 1175 event.location())) | 1182 event.location())) |
| 1176 GetLongPressTimer()->Stop(); | 1183 GetLongPressTimer()->Stop(); |
| 1177 } | 1184 } |
| 1178 | 1185 |
| 1179 } // namespace ui | 1186 } // namespace ui |
| OLD | NEW |