Chromium Code Reviews| Index: ui/base/gestures/gesture_sequence.cc |
| diff --git a/ui/base/gestures/gesture_sequence.cc b/ui/base/gestures/gesture_sequence.cc |
| index e8d5790e3801a8759f0ca572c7ec8aa93bbc930b..c5825800e214d8b8cb664c0fb757b1fb55f5b643 100644 |
| --- a/ui/base/gestures/gesture_sequence.cc |
| +++ b/ui/base/gestures/gesture_sequence.cc |
| @@ -493,14 +493,15 @@ void GestureSequence::RecreateBoundingBox() { |
| for (int i = 0; i < kMaxGesturePoints; ++i) { |
|
tdanderson
2012/07/23 20:21:02
Since this loops through all of the gesture points
sadrul
2012/07/23 20:34:41
We need to expose details about individual fingers
|
| if (!points_[i].in_use()) |
| continue; |
| - if (left > points_[i].x()) |
| - left = points_[i].x(); |
| - if (right < points_[i].x()) |
| - right = points_[i].x(); |
| - if (top > points_[i].y()) |
| - top = points_[i].y(); |
| - if (bottom < points_[i].y()) |
| - bottom = points_[i].y(); |
| + gfx::Rect rect = points_[i].enclosing_rectangle(); |
| + if (left > rect.x()) |
| + left = rect.x(); |
| + if (right < rect.right()) |
| + right = rect.right(); |
| + if (top > rect.y()) |
| + top = rect.y(); |
| + if (bottom < rect.bottom()) |
| + bottom = rect.bottom(); |
| } |
| bounding_box_last_center_ = bounding_box_.CenterPoint(); |
| bounding_box_.SetRect(left, top, right - left, bottom - top); |
| @@ -559,6 +560,7 @@ GestureEvent* GestureSequence::CreateGestureEvent( |
| unsigned int touch_id_bitmask) { |
| GestureEventDetails gesture_details(details); |
| gesture_details.set_touch_points(point_count_); |
| + gesture_details.set_bounding_box(bounding_box_); |
| return helper_->CreateGestureEvent(gesture_details, location, flags, |
| timestamp, touch_id_bitmask); |
| } |
| @@ -576,7 +578,7 @@ void GestureSequence::AppendTapDownGestureEvent(const GesturePoint& point, |
| void GestureSequence::AppendBeginGestureEvent(const GesturePoint& point, |
| Gestures* gestures) { |
| gestures->push_back(CreateGestureEvent( |
| - GestureEventDetails(ui::ET_GESTURE_BEGIN, point_count_, 0), |
| + GestureEventDetails(ui::ET_GESTURE_BEGIN, 0, 0), |
| point.first_touch_position(), |
| flags_, |
| base::Time::FromDoubleT(point.last_touch_time()), |
| @@ -586,7 +588,7 @@ void GestureSequence::AppendBeginGestureEvent(const GesturePoint& point, |
| void GestureSequence::AppendEndGestureEvent(const GesturePoint& point, |
| Gestures* gestures) { |
| gestures->push_back(CreateGestureEvent( |
| - GestureEventDetails(ui::ET_GESTURE_END, point_count_, 0), |
| + GestureEventDetails(ui::ET_GESTURE_END, 0, 0), |
| point.first_touch_position(), |
| flags_, |
| base::Time::FromDoubleT(point.last_touch_time()), |
| @@ -598,7 +600,7 @@ void GestureSequence::AppendClickGestureEvent(const GesturePoint& point, |
| gfx::Rect er = point.enclosing_rectangle(); |
| gfx::Point center = er.CenterPoint(); |
| gestures->push_back(CreateGestureEvent( |
| - GestureEventDetails(ui::ET_GESTURE_TAP, er.width() / 2, er.height() / 2), |
| + GestureEventDetails(ui::ET_GESTURE_TAP, 0, 0), |
|
tdanderson
2012/07/23 20:21:02
Since you are storing the bounding box in the deta
sadrul
2012/07/23 20:34:41
Good catch! I have added a workaround for this for
|
| center, |
| flags_, |
| base::Time::FromDoubleT(point.last_touch_time()), |