| 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..aae827204cc5e7e11aae927a68e244c587cb5469 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,13 @@ class EVENTS_BASE_EXPORT DeviceDataManager {
|
| void UpdateTouchRadiusScale(int touch_device_id, double scale);
|
| void ApplyTouchRadiusScale(int touch_device_id, double* radius);
|
|
|
| + const std::vector<TouchscreenDevice>& touchscreen_devices() const {
|
| + return touchscreen_devices_;
|
| + }
|
| +
|
| + void AddObserver(InputDeviceEventObserver* observer);
|
| + void RemoveObserver(InputDeviceEventObserver* observer);
|
| +
|
| protected:
|
| DeviceDataManager();
|
|
|
| @@ -45,6 +59,10 @@ class EVENTS_BASE_EXPORT DeviceDataManager {
|
|
|
| bool IsTouchDeviceIdValid(int touch_device_id) const;
|
|
|
| + // DeviceHotplugEventObserver:
|
| + virtual void OnTouchscreenDevicesUpdated(
|
| + 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 +70,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);
|
| };
|
|
|
|
|