Chromium Code Reviews| Index: ui/events/x/events_x.cc |
| diff --git a/ui/events/x/events_x.cc b/ui/events/x/events_x.cc |
| index c9780ece12c93e45bfd00931e3b3e98d73e1ddc3..b2f9316c396e350e0bb9d4638151f78f79084661 100644 |
| --- a/ui/events/x/events_x.cc |
| +++ b/ui/events/x/events_x.cc |
| @@ -286,6 +286,14 @@ double GetTouchParamFromXEvent(XEvent* xev, |
| return default_value; |
| } |
| +void ScaleTouchRadius(XEvent* xev, double* radius) { |
| + if (xev->type != GenericEvent) |
|
sadrul
2014/07/23 18:40:16
Make this a DCHECK_EQ instead?
Yufeng Shen (Slow to review)
2014/07/23 19:11:19
Done.
|
| + return; |
| + XIDeviceEvent* xiev = static_cast<XIDeviceEvent*>(xev->xcookie.data); |
| + ui::DeviceDataManagerX11::GetInstance()->ApplyTouchRadiusScale( |
| + xiev->sourceid, radius); |
| +} |
| + |
| } // namespace |
| namespace ui { |
| @@ -704,13 +712,17 @@ int GetTouchId(const base::NativeEvent& xev) { |
| } |
| float GetTouchRadiusX(const base::NativeEvent& native_event) { |
| - return GetTouchParamFromXEvent(native_event, |
| + double radius = GetTouchParamFromXEvent(native_event, |
| ui::DeviceDataManagerX11::DT_TOUCH_MAJOR, 0.0) / 2.0; |
| + ScaleTouchRadius(native_event, &radius); |
| + return radius; |
| } |
| float GetTouchRadiusY(const base::NativeEvent& native_event) { |
| - return GetTouchParamFromXEvent(native_event, |
| + double radius = GetTouchParamFromXEvent(native_event, |
| ui::DeviceDataManagerX11::DT_TOUCH_MINOR, 0.0) / 2.0; |
| + ScaleTouchRadius(native_event, &radius); |
| + return radius; |
| } |
| float GetTouchAngle(const base::NativeEvent& native_event) { |