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..419f4260a8bce4e2d01a0c7f6e596cc941a24cda 100644 |
--- a/ui/events/x/events_x.cc |
+++ b/ui/events/x/events_x.cc |
@@ -286,6 +286,13 @@ double GetTouchParamFromXEvent(XEvent* xev, |
return default_value; |
} |
+void ScaleTouchRadius(XEvent* xev, double* radius) { |
+ DCHECK_EQ(GenericEvent, xev->type); |
+ XIDeviceEvent* xiev = static_cast<XIDeviceEvent*>(xev->xcookie.data); |
+ ui::DeviceDataManagerX11::GetInstance()->ApplyTouchRadiusScale( |
+ xiev->sourceid, radius); |
+} |
+ |
} // namespace |
namespace ui { |
@@ -704,13 +711,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) { |