Chromium Code Reviews| Index: ui/views/events/event.cc |
| diff --git a/ui/views/events/event.cc b/ui/views/events/event.cc |
| index f9f8754f83e6d3e131ef77dfaffccfc3291b71cb..002f5422a78300bf2ad013e0e808b8811439e55e 100644 |
| --- a/ui/views/events/event.cc |
| +++ b/ui/views/events/event.cc |
| @@ -232,12 +232,27 @@ const int MouseWheelEvent::kWheelDelta = 53; |
| //////////////////////////////////////////////////////////////////////////////// |
| // GestureEvent, public: |
| +GestureEvent::GestureEvent(ui::EventType type, |
| + int x, |
| + int y, |
| + int flags, |
| + base::Time time_stamp, |
| + float delta_x, |
| + float delta_y, |
| + unsigned int touch_ids_bitfield) |
| + : LocatedEvent(type, gfx::Point(x, y), flags), |
| + delta_x_(delta_x), |
| + delta_y_(delta_y), |
| + touch_ids_bitfield_(touch_ids_bitfield) { |
| + set_time_stamp(time_stamp); |
| +} |
| GestureEvent::GestureEvent(const GestureEvent& model, View* source, |
| View* target) |
| : LocatedEvent(model, source, target), |
| delta_x_(model.delta_x_), |
| - delta_y_(model.delta_y_) { |
| + delta_y_(model.delta_y_), |
| + touch_ids_bitfield_(model.touch_ids_bitfield_) { |
| } |
| //////////////////////////////////////////////////////////////////////////////// |
| @@ -246,24 +261,28 @@ GestureEvent::GestureEvent(const GestureEvent& model, View* source, |
| GestureEvent::GestureEvent(const GestureEvent& model, View* root) |
| : LocatedEvent(model, root), |
| delta_x_(model.delta_x_), |
| - delta_y_(model.delta_y_) { |
| + delta_y_(model.delta_y_), |
| + touch_ids_bitfield_(0) { |
| } |
| GestureEvent::GestureEvent(ui::EventType type, int x, int y, int flags) |
| : LocatedEvent(type, gfx::Point(x, y), flags), |
| delta_x_(0), |
| - delta_y_(0) { |
| + delta_y_(0), |
| + touch_ids_bitfield_(0) { |
| } |
| GestureEvent::~GestureEvent() { |
| } |
| -#if !defined(USE_AURA) |
| int GestureEvent::GetLowestTouchId() const { |
| - // TODO: |
| - return 0; |
| + if (touch_ids_bitfield_ == 0) |
| + return -1; |
| + int i = -1; |
| + // Find the index of the least significant 1 bit |
| + while (!(1 << ++i & touch_ids_bitfield_)); |
|
sky
2012/05/03 22:39:19
nit: params around (1 << ++i)
|
| + return i; |
| } |
| -#endif |
| GestureEventForTest::GestureEventForTest(ui::EventType type, |
| int x, |