Index: ui/events/device_data_manager.h |
diff --git a/ui/events/device_data_manager.h b/ui/events/device_data_manager.h |
index 838ce67210f1dc669e9cbc079d46967e4be34293..5ab79c83d861f8f20709fd6d09bac0da815f4de7 100644 |
--- a/ui/events/device_data_manager.h |
+++ b/ui/events/device_data_manager.h |
@@ -7,15 +7,22 @@ |
#include <stdint.h> |
+#include <vector> |
+ |
#include "base/macros.h" |
#include "base/memory/scoped_ptr.h" |
+#include "base/observer_list.h" |
+#include "ui/events/device_hotplug_event_observer.h" |
#include "ui/events/events_base_export.h" |
+#include "ui/events/touchscreen_device.h" |
#include "ui/gfx/transform.h" |
namespace ui { |
+class InputDeviceEventObserver; |
+ |
// Keeps track of device mappings and event transformations. |
-class EVENTS_BASE_EXPORT DeviceDataManager { |
+class EVENTS_BASE_EXPORT DeviceDataManager : public DeviceHotplugEventObserver { |
public: |
virtual ~DeviceDataManager(); |
@@ -33,6 +40,11 @@ class EVENTS_BASE_EXPORT DeviceDataManager { |
void UpdateTouchRadiusScale(int touch_device_id, double scale); |
void ApplyTouchRadiusScale(int touch_device_id, double* radius); |
+ std::vector<TouchscreenDevice> GetTouchscreenDevices() const; |
Daniel Erat
2014/09/10 16:51:25
can this instead be a simple inlined accessor that
dnicoara
2014/09/10 18:05:36
Done.
|
+ |
+ void AddObserver(InputDeviceEventObserver* observer); |
+ void RemoveObserver(InputDeviceEventObserver* observer); |
+ |
protected: |
DeviceDataManager(); |
@@ -45,6 +57,10 @@ class EVENTS_BASE_EXPORT DeviceDataManager { |
bool IsTouchDeviceIdValid(int touch_device_id) const; |
+ // DeviceHotplugEventObserver: |
+ virtual void OnTouchscreenDevices( |
+ const std::vector<TouchscreenDevice>& devices) OVERRIDE; |
+ |
double touch_radius_scale_map_[kMaxDeviceNum]; |
// Table to keep track of which display id is mapped to which touch device. |
@@ -52,6 +68,10 @@ class EVENTS_BASE_EXPORT DeviceDataManager { |
// Index table to find the TouchTransformer for a touch device. |
gfx::Transform touch_device_transformer_map_[kMaxDeviceNum]; |
+ std::vector<TouchscreenDevice> touchscreen_devices_; |
+ |
+ ObserverList<InputDeviceEventObserver> observers_; |
+ |
DISALLOW_COPY_AND_ASSIGN(DeviceDataManager); |
}; |