| 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)
|
| + 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) {
|
|
|