Chromium Code Reviews| Index: ui/events/devices/x11/device_data_manager_x11.cc |
| diff --git a/ui/events/devices/x11/device_data_manager_x11.cc b/ui/events/devices/x11/device_data_manager_x11.cc |
| index 6351aca2216e4a6b83b74f42f2842aca1e229039..5cf34b53dd1d3f29ac59d7db13c72f0bfa81a30e 100644 |
| --- a/ui/events/devices/x11/device_data_manager_x11.cc |
| +++ b/ui/events/devices/x11/device_data_manager_x11.cc |
| @@ -232,8 +232,6 @@ void DeviceDataManagerX11::UpdateDeviceList(Display* display) { |
| valuator_count_[i] = 0; |
| valuator_lookup_[i].clear(); |
| data_type_lookup_[i].clear(); |
| - valuator_min_[i].clear(); |
| - valuator_max_[i].clear(); |
| scroll_data_[i].horizontal.number = -1; |
| scroll_data_[i].horizontal.seen = false; |
| scroll_data_[i].vertical.number = -1; |
| @@ -285,11 +283,9 @@ void DeviceDataManagerX11::UpdateDeviceList(Display* display) { |
| if (!valuator_count_[deviceid]) |
| continue; |
| - valuator_lookup_[deviceid].resize(DT_LAST_ENTRY, -1); |
| + valuator_lookup_[deviceid].resize(DT_LAST_ENTRY); |
| data_type_lookup_[deviceid].resize( |
| valuator_count_[deviceid], DT_LAST_ENTRY); |
| - valuator_min_[deviceid].resize(DT_LAST_ENTRY, 0); |
| - valuator_max_[deviceid].resize(DT_LAST_ENTRY, 0); |
| for (int j = 0; j < kMaxSlotNum; j++) |
| last_seen_valuator_[deviceid][j].resize(DT_LAST_ENTRY, 0); |
| for (int j = 0; j < info.num_classes; ++j) { |
| @@ -373,7 +369,7 @@ bool DeviceDataManagerX11::GetEventData(const XEvent& xev, |
| return true; |
| } |
| - int val_index = valuator_lookup_[sourceid][type]; |
| + int val_index = valuator_lookup_[sourceid][type].number; |
| int slot = 0; |
| if (val_index >= 0) { |
| if (XIMaskIsSet(xiev->valuators.mask, val_index)) { |
| @@ -467,7 +463,7 @@ bool DeviceDataManagerX11::HasEventData( |
| return false; |
| if (type >= valuator_lookup_[xiev->sourceid].size()) |
| return false; |
| - const int idx = valuator_lookup_[xiev->sourceid][type]; |
| + const int idx = valuator_lookup_[xiev->sourceid][type].number; |
| return (idx >= 0) && XIMaskIsSet(xiev->valuators.mask, idx); |
| } |
| @@ -682,9 +678,9 @@ bool DeviceDataManagerX11::GetDataRange(int deviceid, |
| return false; |
| if (valuator_lookup_[deviceid].empty()) |
| return false; |
| - if (valuator_lookup_[deviceid][type] >= 0) { |
| - *min = valuator_min_[deviceid][type]; |
| - *max = valuator_max_[deviceid][type]; |
| + if (valuator_lookup_[deviceid][type].number >= 0) { |
| + *min = valuator_lookup_[deviceid][type].min; |
| + *max = valuator_lookup_[deviceid][type].max; |
| return true; |
| } |
| return false; |
| @@ -698,8 +694,6 @@ void DeviceDataManagerX11::SetDeviceListForTest( |
| valuator_count_[i] = 0; |
| valuator_lookup_[i].clear(); |
| data_type_lookup_[i].clear(); |
| - valuator_min_[i].clear(); |
| - valuator_max_[i].clear(); |
| for (int j = 0; j < kMaxSlotNum; j++) |
| last_seen_valuator_[i][j].clear(); |
| } |
| @@ -726,7 +720,7 @@ void DeviceDataManagerX11::SetDeviceListForTest( |
| void DeviceDataManagerX11::SetValuatorDataForTest(XIDeviceEvent* xievent, |
| DataType type, |
| double value) { |
| - int index = valuator_lookup_[xievent->deviceid][type]; |
| + int index = valuator_lookup_[xievent->deviceid][type].number; |
| CHECK(!XIMaskIsSet(xievent->valuators.mask, index)); |
| CHECK(index >= 0 && index < valuator_count_[xievent->deviceid]); |
| XISetMask(xievent->valuators.mask, index); |
| @@ -747,17 +741,15 @@ void DeviceDataManagerX11::InitializeValuatorsForTest(int deviceid, |
| int end_valuator, |
| double min_value, |
| double max_value) { |
| - valuator_lookup_[deviceid].resize(DT_LAST_ENTRY, -1); |
| + valuator_lookup_[deviceid].resize(DT_LAST_ENTRY); |
| data_type_lookup_[deviceid].resize(DT_LAST_ENTRY, DT_LAST_ENTRY); |
| - valuator_min_[deviceid].resize(DT_LAST_ENTRY, 0); |
| - valuator_max_[deviceid].resize(DT_LAST_ENTRY, 0); |
| for (int j = 0; j < kMaxSlotNum; j++) |
| last_seen_valuator_[deviceid][j].resize(DT_LAST_ENTRY, 0); |
| for (int j = start_valuator; j <= end_valuator; ++j) { |
| - valuator_lookup_[deviceid][j] = valuator_count_[deviceid]; |
| + valuator_lookup_[deviceid][j].number = valuator_count_[deviceid]; |
|
sadrul
2017/05/01 16:03:56
Maybe something like:
ValuatorInfo* info = &valu
kylechar
2017/05/01 16:10:17
Done with "auto& valuator_info = ...".
|
| + valuator_lookup_[deviceid][j].min = min_value; |
| + valuator_lookup_[deviceid][j].max = max_value; |
| data_type_lookup_[deviceid][valuator_count_[deviceid]] = j; |
| - valuator_min_[deviceid][j] = min_value; |
| - valuator_max_[deviceid][j] = max_value; |
| valuator_count_[deviceid]++; |
| } |
| } |
| @@ -776,10 +768,10 @@ bool DeviceDataManagerX11::UpdateValuatorClassDevice( |
| DCHECK_GE(data_type, 0); |
| DCHECK_LT(data_type, DT_LAST_ENTRY); |
| - valuator_lookup_[deviceid][data_type] = valuator_class_info->number; |
| + valuator_lookup_[deviceid][data_type].number = valuator_class_info->number; |
| + valuator_lookup_[deviceid][data_type].min = valuator_class_info->min; |
| + valuator_lookup_[deviceid][data_type].max = valuator_class_info->max; |
|
sadrul
2017/05/01 16:03:56
ditto
kylechar
2017/05/01 16:10:17
Done.
|
| data_type_lookup_[deviceid][valuator_class_info->number] = data_type; |
| - valuator_min_[deviceid][data_type] = valuator_class_info->min; |
| - valuator_max_[deviceid][data_type] = valuator_class_info->max; |
| return IsCMTDataType(data_type); |
| } |