OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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_GESTURE_DETECTION_UI_MOTION_EVENT_H_ | 5 #ifndef UI_EVENTS_GESTURE_DETECTION_UI_MOTION_EVENT_H_ |
6 #define UI_EVENTS_GESTURE_DETECTION_UI_MOTION_EVENT_H_ | 6 #define UI_EVENTS_GESTURE_DETECTION_UI_MOTION_EVENT_H_ |
7 | 7 |
8 #include <map> | 8 #include <map> |
9 | 9 |
10 #include "base/memory/scoped_ptr.h" | 10 #include "base/memory/scoped_ptr.h" |
(...skipping 16 matching lines...) Expand all Loading... |
27 virtual int GetId() const OVERRIDE; | 27 virtual int GetId() const OVERRIDE; |
28 virtual Action GetAction() const OVERRIDE; | 28 virtual Action GetAction() const OVERRIDE; |
29 virtual int GetActionIndex() const OVERRIDE; | 29 virtual int GetActionIndex() const OVERRIDE; |
30 virtual size_t GetPointerCount() const OVERRIDE; | 30 virtual size_t GetPointerCount() const OVERRIDE; |
31 virtual int GetPointerId(size_t pointer_index) const OVERRIDE; | 31 virtual int GetPointerId(size_t pointer_index) const OVERRIDE; |
32 virtual float GetX(size_t pointer_index) const OVERRIDE; | 32 virtual float GetX(size_t pointer_index) const OVERRIDE; |
33 virtual float GetY(size_t pointer_index) const OVERRIDE; | 33 virtual float GetY(size_t pointer_index) const OVERRIDE; |
34 virtual float GetRawX(size_t pointer_index) const OVERRIDE; | 34 virtual float GetRawX(size_t pointer_index) const OVERRIDE; |
35 virtual float GetRawY(size_t pointer_index) const OVERRIDE; | 35 virtual float GetRawY(size_t pointer_index) const OVERRIDE; |
36 virtual float GetTouchMajor(size_t pointer_index) const OVERRIDE; | 36 virtual float GetTouchMajor(size_t pointer_index) const OVERRIDE; |
| 37 virtual float GetTouchMinor(size_t pointer_index) const OVERRIDE; |
| 38 virtual float GetOrientation(size_t pointer_index) const OVERRIDE; |
37 virtual float GetPressure(size_t pointer_index) const OVERRIDE; | 39 virtual float GetPressure(size_t pointer_index) const OVERRIDE; |
38 virtual ToolType GetToolType(size_t pointer_index) const OVERRIDE; | 40 virtual ToolType GetToolType(size_t pointer_index) const OVERRIDE; |
39 virtual int GetButtonState() const OVERRIDE; | 41 virtual int GetButtonState() const OVERRIDE; |
40 virtual base::TimeTicks GetEventTime() const OVERRIDE; | 42 virtual base::TimeTicks GetEventTime() const OVERRIDE; |
41 | 43 |
42 virtual scoped_ptr<MotionEvent> Clone() const OVERRIDE; | 44 virtual scoped_ptr<MotionEvent> Clone() const OVERRIDE; |
43 virtual scoped_ptr<MotionEvent> Cancel() const OVERRIDE; | 45 virtual scoped_ptr<MotionEvent> Cancel() const OVERRIDE; |
44 | 46 |
45 int GetSourceDeviceId(size_t pointer_index) const; | 47 int GetSourceDeviceId(size_t pointer_index) const; |
46 | 48 |
47 // We can't cleanup removed touch points immediately upon receipt of a | 49 // We can't cleanup removed touch points immediately upon receipt of a |
48 // TouchCancel or TouchRelease, as the MotionEvent needs to be able to report | 50 // TouchCancel or TouchRelease, as the MotionEvent needs to be able to report |
49 // information about those touch events. Once the MotionEvent has been | 51 // information about those touch events. Once the MotionEvent has been |
50 // processed, we call CleanupRemovedTouchPoints to do the required | 52 // processed, we call CleanupRemovedTouchPoints to do the required |
51 // book-keeping. | 53 // book-keeping. |
52 void CleanupRemovedTouchPoints(const TouchEvent& event); | 54 void CleanupRemovedTouchPoints(const TouchEvent& event); |
53 | 55 |
54 private: | 56 private: |
55 struct PointData { | 57 struct PointData { |
56 PointData(); | 58 PointData(); |
57 float x; | 59 float x; |
58 float y; | 60 float y; |
59 float raw_x; | 61 float raw_x; |
60 float raw_y; | 62 float raw_y; |
61 int touch_id; | 63 int touch_id; |
62 float pressure; | 64 float pressure; |
63 int source_device_id; | 65 int source_device_id; |
| 66 // TODO(mustaq): Switch radii to diameters below, to be |
| 67 // consistent with relevant event params. |
64 float major_radius; | 68 float major_radius; |
| 69 float minor_radius; |
| 70 float orientation; |
65 }; | 71 }; |
66 | 72 |
67 MotionEventAura( | 73 MotionEventAura( |
68 size_t pointer_count, | 74 size_t pointer_count, |
69 const base::TimeTicks& last_touch_time, | 75 const base::TimeTicks& last_touch_time, |
70 Action cached_action, | 76 Action cached_action, |
71 int cached_action_index, | 77 int cached_action_index, |
72 const PointData (&active_touches)[10/*TODO*/]); | 78 const PointData (&active_touches)[10/*TODO*/]); |
73 | 79 |
74 static PointData GetPointDataFromTouchEvent(const TouchEvent& touch); | 80 static PointData GetPointDataFromTouchEvent(const TouchEvent& touch); |
(...skipping 11 matching lines...) Expand all Loading... |
86 | 92 |
87 // We want constant time indexing by pointer_index, and fast indexing by id. | 93 // We want constant time indexing by pointer_index, and fast indexing by id. |
88 PointData active_touches_[10/*TODO*/]; | 94 PointData active_touches_[10/*TODO*/]; |
89 | 95 |
90 DISALLOW_COPY_AND_ASSIGN(MotionEventAura); | 96 DISALLOW_COPY_AND_ASSIGN(MotionEventAura); |
91 }; | 97 }; |
92 | 98 |
93 } // namespace ui | 99 } // namespace ui |
94 | 100 |
95 #endif // UI_EVENTS_GESTURE_DETECTION_UI_MOTION_EVENT_H_ | 101 #endif // UI_EVENTS_GESTURE_DETECTION_UI_MOTION_EVENT_H_ |
OLD | NEW |