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

Side by Side Diff: ui/events/x/device_data_manager.h

Issue 212603005: Don't handle NaturalScroll in Chrome but pass it to CMT instead (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fixed Ash unit tests Created 6 years, 8 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « ui/events/event_utils.h ('k') | ui/events/x/device_data_manager.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef UI_EVENTS_X_DEVICE_DATA_MANAGER_H_ 5 #ifndef UI_EVENTS_X_DEVICE_DATA_MANAGER_H_
6 #define UI_EVENTS_X_DEVICE_DATA_MANAGER_H_ 6 #define UI_EVENTS_X_DEVICE_DATA_MANAGER_H_
7 7
8 // Generically-named #defines from Xlib is conflicting with symbols in GTest. 8 // Generically-named #defines from Xlib is conflicting with symbols in GTest.
9 // So many tests .cc file #undef Bool before including device_data_manager.h, 9 // So many tests .cc file #undef Bool before including device_data_manager.h,
10 // which makes Bool unrecognized in XInput2.h. 10 // which makes Bool unrecognized in XInput2.h.
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
97 // Data struct to store extracted data from an input event. 97 // Data struct to store extracted data from an input event.
98 typedef std::map<int, double> EventData; 98 typedef std::map<int, double> EventData;
99 99
100 // We use int because enums can be casted to ints but not vice versa. 100 // We use int because enums can be casted to ints but not vice versa.
101 static bool IsCMTDataType(const int type); 101 static bool IsCMTDataType(const int type);
102 static bool IsTouchDataType(const int type); 102 static bool IsTouchDataType(const int type);
103 103
104 // Returns the DeviceDataManager singleton. 104 // Returns the DeviceDataManager singleton.
105 static DeviceDataManager* GetInstance(); 105 static DeviceDataManager* GetInstance();
106 106
107 // Natural scroll setter/getter.
108 bool natural_scroll_enabled() const { return natural_scroll_enabled_; }
109 void set_natural_scroll_enabled(bool enabled) {
110 natural_scroll_enabled_ = enabled;
111 }
112
113 // Returns if XInput2 is available on the system. 107 // Returns if XInput2 is available on the system.
114 bool IsXInput2Available() const; 108 bool IsXInput2Available() const;
115 109
116 // Get the natural scroll direction multiplier (1.0f or -1.0f).
117 float GetNaturalScrollFactor(int sourceid) const;
118
119 // Updates the list of devices. 110 // Updates the list of devices.
120 void UpdateDeviceList(Display* display); 111 void UpdateDeviceList(Display* display);
121 112
122 // For multitouch events we use slot number to distinguish touches from 113 // For multitouch events we use slot number to distinguish touches from
123 // different fingers. This function returns true if the associated slot 114 // different fingers. This function returns true if the associated slot
124 // for |xiev| can be found and it is saved in |slot|, returns false if 115 // for |xiev| can be found and it is saved in |slot|, returns false if
125 // no slot can be found. 116 // no slot can be found.
126 bool GetSlotNumber(const XIDeviceEvent* xiev, int* slot); 117 bool GetSlotNumber(const XIDeviceEvent* xiev, int* slot);
127 118
128 // Get all event data in one pass. We extract only data types that we know 119 // Get all event data in one pass. We extract only data types that we know
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after
241 232
242 void InitializeValuatorsForTest(int deviceid, 233 void InitializeValuatorsForTest(int deviceid,
243 int start_valuator, 234 int start_valuator,
244 int end_valuator, 235 int end_valuator,
245 double min_value, 236 double min_value,
246 double max_value); 237 double max_value);
247 238
248 static const int kMaxDeviceNum = 128; 239 static const int kMaxDeviceNum = 128;
249 static const int kMaxXIEventType = XI_LASTEVENT + 1; 240 static const int kMaxXIEventType = XI_LASTEVENT + 1;
250 static const int kMaxSlotNum = 10; 241 static const int kMaxSlotNum = 10;
251 bool natural_scroll_enabled_;
252 242
253 // Major opcode for the XInput extension. Used to identify XInput events. 243 // Major opcode for the XInput extension. Used to identify XInput events.
254 int xi_opcode_; 244 int xi_opcode_;
255 245
256 // A quick lookup table for determining if the XI event is an XIDeviceEvent. 246 // A quick lookup table for determining if the XI event is an XIDeviceEvent.
257 std::bitset<kMaxXIEventType> xi_device_event_types_; 247 std::bitset<kMaxXIEventType> xi_device_event_types_;
258 248
259 // A quick lookup table for determining if events from the pointer device 249 // A quick lookup table for determining if events from the pointer device
260 // should be processed. 250 // should be processed.
261 std::bitset<kMaxDeviceNum> cmt_devices_; 251 std::bitset<kMaxDeviceNum> cmt_devices_;
(...skipping 29 matching lines...) Expand all
291 281
292 unsigned char button_map_[256]; 282 unsigned char button_map_[256];
293 int button_map_count_; 283 int button_map_count_;
294 284
295 DISALLOW_COPY_AND_ASSIGN(DeviceDataManager); 285 DISALLOW_COPY_AND_ASSIGN(DeviceDataManager);
296 }; 286 };
297 287
298 } // namespace ui 288 } // namespace ui
299 289
300 #endif // UI_EVENTS_X_DEVICE_DATA_MANAGER_H_ 290 #endif // UI_EVENTS_X_DEVICE_DATA_MANAGER_H_
OLDNEW
« no previous file with comments | « ui/events/event_utils.h ('k') | ui/events/x/device_data_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698