Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(412)

Unified Diff: ui/events/test/events_test_utils_x11.cc

Issue 95403006: x11: Cleanup how valuators are set for X events in tests. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 7 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ui/events/test/events_test_utils_x11.h ('k') | ui/events/x/device_data_manager.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/events/test/events_test_utils_x11.cc
diff --git a/ui/events/test/events_test_utils_x11.cc b/ui/events/test/events_test_utils_x11.cc
index 9b2cc5bbd1063beeaed767adf17972a0248c42b9..e647f216d684cee71f6bf97022e17fadddfe032c 100644
--- a/ui/events/test/events_test_utils_x11.cc
+++ b/ui/events/test/events_test_utils_x11.cc
@@ -16,24 +16,6 @@
namespace {
-const int kScrollValuatorNum = 5;
-const int kScrollValuatorMap[kScrollValuatorNum][4] = {
- // { valuator_index, valuator_type, min_val, max_val }
- { 0, ui::DeviceDataManager::DT_CMT_SCROLL_X, -100, 100 },
- { 1, ui::DeviceDataManager::DT_CMT_SCROLL_Y, -100, 100 },
- { 2, ui::DeviceDataManager::DT_CMT_ORDINAL_X, -100, 100 },
- { 3, ui::DeviceDataManager::DT_CMT_ORDINAL_Y, -100, 100 },
- { 4, ui::DeviceDataManager::DT_CMT_FINGER_COUNT, 0, 3},
-};
-
-const int kTouchValuatorNum = 3;
-const int kTouchValuatorMap[kTouchValuatorNum][4] = {
- // { valuator_index, valuator_type, min_val, max_val }
- { 0, ui::DeviceDataManager::DT_TOUCH_MAJOR, 0, 1000},
- { 1, ui::DeviceDataManager::DT_TOUCH_ORIENTATION, 0, 1},
- { 2, ui::DeviceDataManager::DT_TOUCH_PRESSURE, 0, 1000},
-};
-
// Converts ui::EventType to state for X*Events.
unsigned int XEventState(int flags) {
return
@@ -104,7 +86,8 @@ unsigned int XButtonEventButton(ui::EventType type,
return 0;
}
-void InitValuatorsForXIDeviceEvent(XIDeviceEvent* xiev, int valuator_count) {
+void InitValuatorsForXIDeviceEvent(XIDeviceEvent* xiev) {
+ int valuator_count = ui::DeviceDataManager::DT_LAST_ENTRY;
xiev->valuators.mask_len = (valuator_count / 8) + 1;
xiev->valuators.mask = new unsigned char[xiev->valuators.mask_len];
memset(xiev->valuators.mask, 0, xiev->valuators.mask_len);
@@ -204,18 +187,17 @@ void ScopedXI2Event::InitScrollEvent(int deviceid,
int y_offset_ordinal,
int finger_count) {
Cleanup();
- event_.reset(CreateXInput2Event(deviceid, XI_Motion, deviceid, gfx::Point()));
+ event_.reset(CreateXInput2Event(deviceid, XI_Motion, 0, gfx::Point()));
- int valuator_data[kScrollValuatorNum] =
- { x_offset, y_offset, x_offset_ordinal, y_offset_ordinal, finger_count};
- XIDeviceEvent* xiev =
- static_cast<XIDeviceEvent*>(event_->xcookie.data);
-
- InitValuatorsForXIDeviceEvent(xiev, kScrollValuatorNum);
- for(int i = 0; i < kScrollValuatorNum; i++) {
- XISetMask(xiev->valuators.mask, i);
- xiev->valuators.values[i] = valuator_data[i];
- }
+ Valuator valuators[] = {
+ Valuator(DeviceDataManager::DT_CMT_SCROLL_X, x_offset),
+ Valuator(DeviceDataManager::DT_CMT_SCROLL_Y, y_offset),
+ Valuator(DeviceDataManager::DT_CMT_ORDINAL_X, x_offset_ordinal),
+ Valuator(DeviceDataManager::DT_CMT_ORDINAL_Y, y_offset_ordinal),
+ Valuator(DeviceDataManager::DT_CMT_FINGER_COUNT, finger_count)
+ };
+ SetUpValuators(
+ std::vector<Valuator>(valuators, valuators + arraysize(valuators)));
}
void ScopedXI2Event::InitTouchEvent(int deviceid,
@@ -224,22 +206,8 @@ void ScopedXI2Event::InitTouchEvent(int deviceid,
const gfx::Point& location,
const std::vector<Valuator>& valuators) {
Cleanup();
- event_.reset(CreateXInput2Event(
- deviceid, evtype, tracking_id, location));
-
- XIDeviceEvent* xiev =
- static_cast<XIDeviceEvent*>(event_->xcookie.data);
- InitValuatorsForXIDeviceEvent(xiev, valuators.size());
- int val_count = 0;
- for (int i = 0; i < kTouchValuatorNum; i++) {
- for (size_t j = 0; j < valuators.size(); j++) {
- if (valuators[j].data_type == kTouchValuatorMap[i][1]) {
- XISetMask(xiev->valuators.mask, kTouchValuatorMap[i][0]);
- xiev->valuators.values[val_count++] = valuators[j].value;
- }
- }
- }
-
+ event_.reset(CreateXInput2Event(deviceid, evtype, tracking_id, location));
+ SetUpValuators(valuators);
}
void ScopedXI2Event::Cleanup() {
@@ -255,39 +223,31 @@ void ScopedXI2Event::Cleanup() {
event_.reset();
}
- void SetUpScrollDeviceForTest(unsigned int deviceid) {
+void ScopedXI2Event::SetUpValuators(const std::vector<Valuator>& valuators) {
+ CHECK(event_.get());
+ CHECK_EQ(GenericEvent, event_->type);
+ XIDeviceEvent* xiev = static_cast<XIDeviceEvent*>(event_->xcookie.data);
+ InitValuatorsForXIDeviceEvent(xiev);
+ ui::DeviceDataManager* manager = ui::DeviceDataManager::GetInstance();
+ for (size_t i = 0; i < valuators.size(); ++i) {
+ manager->SetValuatorDataForTest(xiev, valuators[i].data_type,
+ valuators[i].value);
+ }
+}
+
+void SetUpScrollDeviceForTest(unsigned int deviceid) {
std::vector<unsigned int> device_list;
device_list.push_back(deviceid);
TouchFactory::GetInstance()->SetPointerDeviceForTest(device_list);
ui::DeviceDataManager* manager = ui::DeviceDataManager::GetInstance();
- manager->SetDeviceListForTest(device_list, device_list, device_list);
-
- for (int i = 0; i < kScrollValuatorNum; i++) {
- manager->SetDeviceValuatorForTest(
- deviceid,
- kScrollValuatorMap[i][0],
- static_cast<DeviceDataManager::DataType>(kScrollValuatorMap[i][1]),
- kScrollValuatorMap[i][2],
- kScrollValuatorMap[i][3]);
- }
+ manager->SetDeviceListForTest(std::vector<unsigned int>(), device_list);
}
-void SetupTouchDevicesForTest(const std::vector<unsigned int>& devices) {
- std::vector<unsigned int> empty_list;
+void SetUpTouchDevicesForTest(const std::vector<unsigned int>& devices) {
TouchFactory::GetInstance()->SetTouchDeviceForTest(devices);
ui::DeviceDataManager* manager = ui::DeviceDataManager::GetInstance();
- manager->SetDeviceListForTest(devices, empty_list, empty_list);
- for (size_t i = 0; i < devices.size(); i++) {
- for (int j = 0; j < kTouchValuatorNum; j++) {
- manager->SetDeviceValuatorForTest(
- devices[i],
- kTouchValuatorMap[j][0],
- static_cast<DeviceDataManager::DataType>(kTouchValuatorMap[j][1]),
- kTouchValuatorMap[j][2],
- kTouchValuatorMap[j][3]);
- }
- }
+ manager->SetDeviceListForTest(devices, std::vector<unsigned int>());
}
} // namespace ui
« no previous file with comments | « ui/events/test/events_test_utils_x11.h ('k') | ui/events/x/device_data_manager.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698