Index: ui/views/events/event.cc |
diff --git a/ui/views/events/event.cc b/ui/views/events/event.cc |
index 6954db664b83215518790d98375e90004f0cc785..91440a44ba95dc005d054309285179b426b4c5b6 100644 |
--- a/ui/views/events/event.cc |
+++ b/ui/views/events/event.cc |
@@ -197,12 +197,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_) { |
} |
//////////////////////////////////////////////////////////////////////////////// |
@@ -211,24 +226,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_)); |
+ return i; |
} |
-#endif |
GestureEventForTest::GestureEventForTest(ui::EventType type, |
int x, |