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

Unified Diff: ui/events/x/events_x.cc

Issue 289283015: Extract touchscreen device management into a generic manager (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebased Created 6 years, 6 months 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
Index: ui/events/x/events_x.cc
diff --git a/ui/events/x/events_x.cc b/ui/events/x/events_x.cc
index 9d6b15a2eca3a0dc71a833999707b1385c79e011..b4b3eecfc358d5eadb6ce6745c0cfa3c2ccae452 100644
--- a/ui/events/x/events_x.cc
+++ b/ui/events/x/events_x.cc
@@ -15,7 +15,7 @@
#include "base/memory/singleton.h"
#include "ui/events/event_utils.h"
#include "ui/events/keycodes/keyboard_code_conversion_x.h"
-#include "ui/events/x/device_data_manager.h"
+#include "ui/events/x/device_data_manager_x11.h"
#include "ui/events/x/device_list_cache_x.h"
#include "ui/events/x/touch_factory_x11.h"
#include "ui/gfx/display.h"
@@ -118,8 +118,8 @@ bool TouchEventIsGeneratedHack(const base::NativeEvent& native_event) {
double radius = ui::GetTouchRadiusX(native_event), min, max;
unsigned int deviceid =
static_cast<XIDeviceEvent*>(native_event->xcookie.data)->sourceid;
- if (!ui::DeviceDataManager::GetInstance()->GetDataRange(
- deviceid, ui::DeviceDataManager::DT_TOUCH_MAJOR, &min, &max)) {
+ if (!ui::DeviceDataManagerX11::GetInstance()->GetDataRange(
+ deviceid, ui::DeviceDataManagerX11::DT_TOUCH_MAJOR, &min, &max)) {
return false;
}
@@ -205,7 +205,7 @@ int GetButtonMaskForX2Event(XIDeviceEvent* xievent) {
for (int i = 0; i < 8 * xievent->buttons.mask_len; i++) {
if (XIMaskIsSet(xievent->buttons.mask, i)) {
int button = (xievent->sourceid == xievent->deviceid) ?
- ui::DeviceDataManager::GetInstance()->GetMappedButton(i) : i;
+ ui::DeviceDataManagerX11::GetInstance()->GetMappedButton(i) : i;
buttonflags |= GetEventFlagsForButton(button);
}
}
@@ -249,9 +249,9 @@ ui::EventType GetTouchEventType(const base::NativeEvent& native_event) {
}
double GetTouchParamFromXEvent(XEvent* xev,
- ui::DeviceDataManager::DataType val,
+ ui::DeviceDataManagerX11::DataType val,
double default_value) {
- ui::DeviceDataManager::GetInstance()->GetEventData(
+ ui::DeviceDataManagerX11::GetInstance()->GetEventData(
*xev, val, &default_value);
return default_value;
}
@@ -264,7 +264,7 @@ void UpdateDeviceList() {
XDisplay* display = gfx::GetXDisplay();
DeviceListCacheX::GetInstance()->UpdateDeviceList(display);
TouchFactory::GetInstance()->UpdateDeviceList(display);
- DeviceDataManager::GetInstance()->UpdateDeviceList(display);
+ DeviceDataManagerX11::GetInstance()->UpdateDeviceList(display);
}
EventType EventTypeFromNative(const base::NativeEvent& native_event) {
@@ -334,10 +334,10 @@ EventType EventTypeFromNative(const base::NativeEvent& native_event) {
bool is_cancel;
if (GetFlingData(native_event, NULL, NULL, NULL, NULL, &is_cancel)) {
return is_cancel ? ET_SCROLL_FLING_CANCEL : ET_SCROLL_FLING_START;
- } else if (DeviceDataManager::GetInstance()->IsScrollEvent(
+ } else if (DeviceDataManagerX11::GetInstance()->IsScrollEvent(
native_event)) {
return IsTouchpadEvent(native_event) ? ET_SCROLL : ET_MOUSEWHEEL;
- } else if (DeviceDataManager::GetInstance()->IsCMTMetricsEvent(
+ } else if (DeviceDataManagerX11::GetInstance()->IsCMTMetricsEvent(
native_event)) {
return ET_UMA_DATA;
} else if (GetButtonMaskForX2Event(xievent)) {
@@ -437,8 +437,10 @@ base::TimeDelta EventTimeFromNative(const base::NativeEvent& native_event) {
if (GetGestureTimes(native_event, &start, &end)) {
// If the driver supports gesture times, use them.
return base::TimeDelta::FromMicroseconds(end * 1000000);
- } else if (DeviceDataManager::GetInstance()->GetEventData(*native_event,
- DeviceDataManager::DT_TOUCH_RAW_TIMESTAMP, &touch_timestamp)) {
+ } else if (DeviceDataManagerX11::GetInstance()->GetEventData(
+ *native_event,
+ DeviceDataManagerX11::DT_TOUCH_RAW_TIMESTAMP,
+ &touch_timestamp)) {
return base::TimeDelta::FromMicroseconds(touch_timestamp * 1000000);
} else {
XIDeviceEvent* xide =
@@ -472,7 +474,7 @@ gfx::Point EventLocationFromNative(const base::NativeEvent& native_event) {
case XI_TouchBegin:
case XI_TouchUpdate:
case XI_TouchEnd:
- ui::DeviceDataManager::GetInstance()->ApplyTouchTransformer(
+ ui::DeviceDataManagerX11::GetInstance()->ApplyTouchTransformer(
xievent->deviceid, &x, &y);
break;
default:
@@ -519,7 +521,7 @@ int EventButtonFromNative(const base::NativeEvent& native_event) {
int button = xievent->detail;
return (xievent->sourceid == xievent->deviceid) ?
- DeviceDataManager::GetInstance()->GetMappedButton(button) : button;
+ DeviceDataManagerX11::GetInstance()->GetMappedButton(button) : button;
}
KeyboardCode KeyboardCodeFromNative(const base::NativeEvent& native_event) {
@@ -595,10 +597,10 @@ void ClearTouchIdIfReleased(const base::NativeEvent& xev) {
if (type == ui::ET_TOUCH_CANCELLED ||
type == ui::ET_TOUCH_RELEASED) {
ui::TouchFactory* factory = ui::TouchFactory::GetInstance();
- ui::DeviceDataManager* manager = ui::DeviceDataManager::GetInstance();
+ ui::DeviceDataManagerX11* manager = ui::DeviceDataManagerX11::GetInstance();
double tracking_id;
if (manager->GetEventData(
- *xev, ui::DeviceDataManager::DT_TOUCH_TRACKING_ID, &tracking_id)) {
+ *xev, ui::DeviceDataManagerX11::DT_TOUCH_TRACKING_ID, &tracking_id)) {
factory->ReleaseSlotForTrackingID(tracking_id);
}
}
@@ -606,10 +608,10 @@ void ClearTouchIdIfReleased(const base::NativeEvent& xev) {
int GetTouchId(const base::NativeEvent& xev) {
double slot = 0;
- ui::DeviceDataManager* manager = ui::DeviceDataManager::GetInstance();
+ ui::DeviceDataManagerX11* manager = ui::DeviceDataManagerX11::GetInstance();
double tracking_id;
if (!manager->GetEventData(
- *xev, ui::DeviceDataManager::DT_TOUCH_TRACKING_ID, &tracking_id)) {
+ *xev, ui::DeviceDataManagerX11::DT_TOUCH_TRACKING_ID, &tracking_id)) {
LOG(ERROR) << "Could not get the tracking ID for the event. Using 0.";
} else {
ui::TouchFactory* factory = ui::TouchFactory::GetInstance();
@@ -620,28 +622,28 @@ int GetTouchId(const base::NativeEvent& xev) {
float GetTouchRadiusX(const base::NativeEvent& native_event) {
return GetTouchParamFromXEvent(native_event,
- ui::DeviceDataManager::DT_TOUCH_MAJOR, 0.0) / 2.0;
+ ui::DeviceDataManagerX11::DT_TOUCH_MAJOR, 0.0) / 2.0;
}
float GetTouchRadiusY(const base::NativeEvent& native_event) {
return GetTouchParamFromXEvent(native_event,
- ui::DeviceDataManager::DT_TOUCH_MINOR, 0.0) / 2.0;
+ ui::DeviceDataManagerX11::DT_TOUCH_MINOR, 0.0) / 2.0;
}
float GetTouchAngle(const base::NativeEvent& native_event) {
return GetTouchParamFromXEvent(native_event,
- ui::DeviceDataManager::DT_TOUCH_ORIENTATION, 0.0) / 2.0;
+ ui::DeviceDataManagerX11::DT_TOUCH_ORIENTATION, 0.0) / 2.0;
}
float GetTouchForce(const base::NativeEvent& native_event) {
double force = 0.0;
force = GetTouchParamFromXEvent(native_event,
- ui::DeviceDataManager::DT_TOUCH_PRESSURE, 0.0);
+ ui::DeviceDataManagerX11::DT_TOUCH_PRESSURE, 0.0);
unsigned int deviceid =
static_cast<XIDeviceEvent*>(native_event->xcookie.data)->sourceid;
// Force is normalized to fall into [0, 1]
- if (!ui::DeviceDataManager::GetInstance()->NormalizeData(
- deviceid, ui::DeviceDataManager::DT_TOUCH_PRESSURE, &force))
+ if (!ui::DeviceDataManagerX11::GetInstance()->NormalizeData(
+ deviceid, ui::DeviceDataManagerX11::DT_TOUCH_PRESSURE, &force))
force = 0.0;
return force;
}
@@ -652,7 +654,7 @@ bool GetScrollOffsets(const base::NativeEvent& native_event,
float* x_offset_ordinal,
float* y_offset_ordinal,
int* finger_count) {
- if (!DeviceDataManager::GetInstance()->IsScrollEvent(native_event))
+ if (!DeviceDataManagerX11::GetInstance()->IsScrollEvent(native_event))
return false;
// Temp values to prevent passing NULLs to DeviceDataManager.
@@ -670,7 +672,7 @@ bool GetScrollOffsets(const base::NativeEvent& native_event,
if (!finger_count)
finger_count = &finger_count_;
- DeviceDataManager::GetInstance()->GetScrollOffsets(
+ DeviceDataManagerX11::GetInstance()->GetScrollOffsets(
native_event,
x_offset, y_offset,
x_offset_ordinal, y_offset_ordinal,
@@ -684,7 +686,7 @@ bool GetFlingData(const base::NativeEvent& native_event,
float* vx_ordinal,
float* vy_ordinal,
bool* is_cancel) {
- if (!DeviceDataManager::GetInstance()->IsFlingEvent(native_event))
+ if (!DeviceDataManagerX11::GetInstance()->IsFlingEvent(native_event))
return false;
float vx_, vy_;
@@ -701,7 +703,7 @@ bool GetFlingData(const base::NativeEvent& native_event,
if (!is_cancel)
is_cancel = &is_cancel_;
- DeviceDataManager::GetInstance()->GetFlingData(
+ DeviceDataManagerX11::GetInstance()->GetFlingData(
native_event, vx, vy, vx_ordinal, vy_ordinal, is_cancel);
return true;
}
@@ -709,7 +711,7 @@ bool GetFlingData(const base::NativeEvent& native_event,
bool GetGestureTimes(const base::NativeEvent& native_event,
double* start_time,
double* end_time) {
- if (!DeviceDataManager::GetInstance()->HasGestureTimes(native_event))
+ if (!DeviceDataManagerX11::GetInstance()->HasGestureTimes(native_event))
return false;
double start_time_, end_time_;
@@ -718,13 +720,13 @@ bool GetGestureTimes(const base::NativeEvent& native_event,
if (!end_time)
end_time = &end_time_;
- DeviceDataManager::GetInstance()->GetGestureTimes(
+ DeviceDataManagerX11::GetInstance()->GetGestureTimes(
native_event, start_time, end_time);
return true;
}
bool IsTouchpadEvent(const base::NativeEvent& event) {
- return DeviceDataManager::GetInstance()->IsTouchpadXInputEvent(event);
+ return DeviceDataManagerX11::GetInstance()->IsTouchpadXInputEvent(event);
}
} // namespace ui

Powered by Google App Engine
This is Rietveld 408576698