Index: ui/events/event.cc |
diff --git a/ui/events/event.cc b/ui/events/event.cc |
index 879f3e1e96647fb0447e0012c00bbef6195d0401..310a71e1c722aefccdae29c0954b562027cb7ee5 100644 |
--- a/ui/events/event.cc |
+++ b/ui/events/event.cc |
@@ -501,6 +501,45 @@ void LocatedEvent::UpdateForRootTransform( |
} |
//////////////////////////////////////////////////////////////////////////////// |
+// PointerDetails |
+ |
+PointerDetails::PointerDetails() {} |
+ |
+PointerDetails::PointerDetails(EventPointerType pointer_type, uint32_t id) |
+ : pointer_type(pointer_type), |
+ force(std::numeric_limits<float>::quiet_NaN()), |
+ id(id) {} |
+ |
+PointerDetails::PointerDetails(EventPointerType pointer_type, |
+ float radius_x, |
+ float radius_y, |
+ float force, |
+ float tilt_x, |
+ float tilt_y, |
+ float tangential_pressure, |
+ int twist, |
+ uint32_t id) |
+ : pointer_type(pointer_type), |
+ // If we aren't provided with a radius on one axis, use the |
+ // information from the other axis. |
+ radius_x(radius_x > 0 ? radius_x : radius_y), |
+ radius_y(radius_y > 0 ? radius_y : radius_x), |
+ force(force), |
+ tilt_x(tilt_x), |
+ tilt_y(tilt_y), |
+ tangential_pressure(tangential_pressure), |
+ twist(twist), |
+ id(id) {} |
+ |
+PointerDetails::PointerDetails(EventPointerType pointer_type, |
+ const gfx::Vector2d& offset) |
+ : pointer_type(pointer_type), |
+ force(std::numeric_limits<float>::quiet_NaN()), |
+ offset(offset) {} |
+ |
+PointerDetails::PointerDetails(const PointerDetails& other) = default; |
+ |
+//////////////////////////////////////////////////////////////////////////////// |
// MouseEvent |
MouseEvent::MouseEvent(const base::NativeEvent& native_event) |
@@ -573,7 +612,8 @@ MouseEvent::MouseEvent(EventType type, |
time_stamp, |
flags), |
changed_button_flags_(changed_button_flags), |
- pointer_details_(PointerDetails(EventPointerType::POINTER_TYPE_MOUSE)) { |
+ pointer_details_(PointerDetails(EventPointerType::POINTER_TYPE_MOUSE, |
+ PointerEvent::kMousePointerId)) { |
DCHECK_NE(ET_MOUSEWHEEL, type); |
latency()->AddLatencyNumber(INPUT_EVENT_LATENCY_UI_COMPONENT, 0, 0); |
if (this->type() == ET_MOUSE_MOVED && IsAnyButton()) |
@@ -766,7 +806,6 @@ const int MouseWheelEvent::kWheelDelta = 53; |
TouchEvent::TouchEvent(const base::NativeEvent& native_event) |
: LocatedEvent(native_event), |
- touch_id_(GetTouchId(native_event)), |
unique_event_id_(ui::GetNextTouchEventId()), |
rotation_angle_(GetTouchAngle(native_event)), |
may_cause_scrolling_(false), |
@@ -784,7 +823,6 @@ TouchEvent::TouchEvent(const base::NativeEvent& native_event) |
TouchEvent::TouchEvent(const PointerEvent& pointer_event) |
: LocatedEvent(pointer_event), |
- touch_id_(pointer_event.pointer_id()), |
unique_event_id_(ui::GetNextTouchEventId()), |
rotation_angle_(0.0f), |
may_cause_scrolling_(false), |
@@ -815,26 +853,26 @@ TouchEvent::TouchEvent(const PointerEvent& pointer_event) |
TouchEvent::TouchEvent(EventType type, |
const gfx::Point& location, |
- int touch_id, |
+ uint32_t touch_id, |
base::TimeTicks time_stamp) |
: LocatedEvent(type, |
gfx::PointF(location), |
gfx::PointF(location), |
time_stamp, |
0), |
- touch_id_(touch_id), |
unique_event_id_(ui::GetNextTouchEventId()), |
rotation_angle_(0.0f), |
may_cause_scrolling_(false), |
should_remove_native_touch_id_mapping_(false), |
- pointer_details_(PointerDetails(EventPointerType::POINTER_TYPE_TOUCH)) { |
+ pointer_details_( |
+ PointerDetails(EventPointerType::POINTER_TYPE_TOUCH, touch_id)) { |
latency()->AddLatencyNumber(INPUT_EVENT_LATENCY_UI_COMPONENT, 0, 0); |
} |
TouchEvent::TouchEvent(EventType type, |
const gfx::Point& location, |
int flags, |
- int touch_id, |
+ uint32_t touch_id, |
base::TimeTicks time_stamp, |
float radius_x, |
float radius_y, |
@@ -845,7 +883,6 @@ TouchEvent::TouchEvent(EventType type, |
gfx::PointF(location), |
time_stamp, |
flags), |
- touch_id_(touch_id), |
unique_event_id_(ui::GetNextTouchEventId()), |
rotation_angle_(angle), |
may_cause_scrolling_(false), |
@@ -855,14 +892,16 @@ TouchEvent::TouchEvent(EventType type, |
radius_y, |
force, |
/* tilt_x */ 0.0f, |
- /* tilt_y */ 0.0f)) { |
+ /* tilt_y */ 0.0f, |
+ /* tangential_pressure */ 0.0f, |
+ /* twist */ 0, |
+ touch_id)) { |
latency()->AddLatencyNumber(INPUT_EVENT_LATENCY_UI_COMPONENT, 0, 0); |
FixRotationAngle(); |
} |
TouchEvent::TouchEvent(const TouchEvent& copy) |
: LocatedEvent(copy), |
- touch_id_(copy.touch_id_), |
unique_event_id_(copy.unique_event_id_), |
rotation_angle_(copy.rotation_angle_), |
may_cause_scrolling_(copy.may_cause_scrolling_), |
@@ -934,7 +973,6 @@ bool PointerEvent::CanConvertFrom(const Event& event) { |
PointerEvent::PointerEvent(const PointerEvent& pointer_event) |
: LocatedEvent(pointer_event), |
- pointer_id_(pointer_event.pointer_id()), |
changed_button_flags_(pointer_event.changed_button_flags()), |
details_(pointer_event.pointer_details()) { |
if (details_.pointer_type == EventPointerType::POINTER_TYPE_TOUCH) |
@@ -947,7 +985,6 @@ PointerEvent::PointerEvent(const PointerEvent& pointer_event) |
PointerEvent::PointerEvent(const MouseEvent& mouse_event) |
: LocatedEvent(mouse_event), |
- pointer_id_(kMousePointerId), |
changed_button_flags_(mouse_event.changed_button_flags()), |
details_(mouse_event.pointer_details()) { |
DCHECK(CanConvertFrom(mouse_event)); |
@@ -992,11 +1029,11 @@ PointerEvent::PointerEvent(const MouseEvent& mouse_event) |
default: |
NOTREACHED(); |
} |
+ details_.id = static_cast<uint32_t>(kMousePointerId); |
sadrul
2017/02/07 05:40:42
Should not be necessary?
lanwei
2017/02/10 20:54:38
Done.
|
} |
PointerEvent::PointerEvent(const TouchEvent& touch_event) |
: LocatedEvent(touch_event), |
- pointer_id_(touch_event.touch_id()), |
changed_button_flags_(0), |
details_(touch_event.pointer_details()) { |
DCHECK(CanConvertFrom(touch_event)); |
@@ -1027,7 +1064,7 @@ PointerEvent::PointerEvent(EventType type, |
const gfx::Point& location, |
const gfx::Point& root_location, |
int flags, |
- int pointer_id, |
+ uint32_t pointer_id, |
int changed_button_flags, |
const PointerDetails& pointer_details, |
base::TimeTicks time_stamp) |
@@ -1036,9 +1073,9 @@ PointerEvent::PointerEvent(EventType type, |
gfx::PointF(root_location), |
time_stamp, |
flags), |
- pointer_id_(pointer_id), |
changed_button_flags_(changed_button_flags), |
details_(pointer_details) { |
+ details_.id = pointer_id; |
if (details_.pointer_type == EventPointerType::POINTER_TYPE_TOUCH) |
latency()->set_source_event_type(ui::SourceEventType::TOUCH); |
else if (type == ET_POINTER_WHEEL_CHANGED) |
@@ -1047,7 +1084,8 @@ PointerEvent::PointerEvent(EventType type, |
latency()->set_source_event_type(ui::SourceEventType::OTHER); |
} |
-const int PointerEvent::kMousePointerId = std::numeric_limits<int32_t>::max(); |
+const uint32_t PointerEvent::kMousePointerId = |
+ std::numeric_limits<int32_t>::max(); |
sadrul
2017/02/07 05:40:42
uint32_t
lanwei
2017/02/10 20:54:38
Done.
|
//////////////////////////////////////////////////////////////////////////////// |
// KeyEvent |