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

Side by Side Diff: ui/events/gesture_detection/motion_event.h

Issue 502993004: Remove abstract Clone and Cancel methods from MotionEvent (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 6 years, 2 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
OLDNEW
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_MOTION_EVENT_H_ 5 #ifndef UI_EVENTS_GESTURE_DETECTION_MOTION_EVENT_H_
6 #define UI_EVENTS_GESTURE_DETECTION_MOTION_EVENT_H_ 6 #define UI_EVENTS_GESTURE_DETECTION_MOTION_EVENT_H_
7 7
8 #include <string>
9
8 #include "base/memory/scoped_ptr.h" 10 #include "base/memory/scoped_ptr.h"
9 #include "base/time/time.h" 11 #include "base/time/time.h"
10 #include "ui/events/gesture_detection/gesture_detection_export.h" 12 #include "ui/events/gesture_detection/gesture_detection_export.h"
11 13
12 namespace ui { 14 namespace ui {
13 15
14 // Abstract class for a generic motion-related event, patterned after that 16 // Abstract class for a generic motion-related event, patterned after that
15 // subset of Android's MotionEvent API used in gesture detection. 17 // subset of Android's MotionEvent API used in gesture detection.
16 class GESTURE_DETECTION_EXPORT MotionEvent { 18 class GESTURE_DETECTION_EXPORT MotionEvent {
17 public: 19 public:
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
69 // Optional historical data, default implementation provides an empty history. 71 // Optional historical data, default implementation provides an empty history.
70 virtual size_t GetHistorySize() const; 72 virtual size_t GetHistorySize() const;
71 virtual base::TimeTicks GetHistoricalEventTime(size_t historical_index) const; 73 virtual base::TimeTicks GetHistoricalEventTime(size_t historical_index) const;
72 virtual float GetHistoricalTouchMajor(size_t pointer_index, 74 virtual float GetHistoricalTouchMajor(size_t pointer_index,
73 size_t historical_index) const; 75 size_t historical_index) const;
74 virtual float GetHistoricalX(size_t pointer_index, 76 virtual float GetHistoricalX(size_t pointer_index,
75 size_t historical_index) const; 77 size_t historical_index) const;
76 virtual float GetHistoricalY(size_t pointer_index, 78 virtual float GetHistoricalY(size_t pointer_index,
77 size_t historical_index) const; 79 size_t historical_index) const;
78 80
79 virtual scoped_ptr<MotionEvent> Clone() const = 0; 81 // Utility accessor methods for convenience.
80 virtual scoped_ptr<MotionEvent> Cancel() const = 0;
81
82 float GetX() const { return GetX(0); } 82 float GetX() const { return GetX(0); }
83 float GetY() const { return GetY(0); } 83 float GetY() const { return GetY(0); }
84 float GetRawX() const { return GetRawX(0); } 84 float GetRawX() const { return GetRawX(0); }
85 float GetRawY() const { return GetRawY(0); } 85 float GetRawY() const { return GetRawY(0); }
86 float GetRawOffsetX() const { return GetRawX() - GetX(); } 86 float GetRawOffsetX() const { return GetRawX() - GetX(); }
87 float GetRawOffsetY() const { return GetRawY() - GetY(); } 87 float GetRawOffsetY() const { return GetRawY() - GetY(); }
88 88
89 float GetTouchMajor() const { return GetTouchMajor(0); } 89 float GetTouchMajor() const { return GetTouchMajor(0); }
90 float GetTouchMinor() const { return GetTouchMinor(0); } 90 float GetTouchMinor() const { return GetTouchMinor(0); }
91 91
92 // Returns the orientation of the major axis clockwise from vertical, in 92 // Returns the orientation of the major axis clockwise from vertical, in
93 // radians. The return value lies in [-PI/2, PI/2]. 93 // radians. The return value lies in [-PI/2, PI/2].
94 float GetOrientation() const { return GetOrientation(0); } 94 float GetOrientation() const { return GetOrientation(0); }
95 95
96 float GetPressure() const { return GetPressure(0); } 96 float GetPressure() const { return GetPressure(0); }
97 ToolType GetToolType() const { return GetToolType(0); } 97 ToolType GetToolType() const { return GetToolType(0); }
98 98
99 // O(N) search of pointers (use sparingly!). Returns -1 if |id| nonexistent. 99 // O(N) search of pointers (use sparingly!). Returns -1 if |id| nonexistent.
100 int FindPointerIndexOfId(int id) const; 100 int FindPointerIndexOfId(int id) const;
101
102 // Note that these methods perform shallow copies of the originating events.
103 // They guarantee only that the returned type will reflect the same
104 // data exposed by the MotionEvent interface; no guarantees are made that the
105 // underlying implementation is identical to the source implementation.
106 scoped_ptr<MotionEvent> Clone() const;
107 scoped_ptr<MotionEvent> Cancel() const;
108
109 // Note: This routine is not at all optimized and should not be used outside
110 // of testing in any production code.
111 std::string ToString() const;
101 }; 112 };
102 113
103 GESTURE_DETECTION_EXPORT bool operator==(const MotionEvent& lhs,
104 const MotionEvent& rhs);
105 GESTURE_DETECTION_EXPORT bool operator!=(const MotionEvent& lhs,
106 const MotionEvent& rhs);
107
108 } // namespace ui 114 } // namespace ui
109 115
110 #endif // UI_EVENTS_GESTURE_DETECTION_MOTION_EVENT_H_ 116 #endif // UI_EVENTS_GESTURE_DETECTION_MOTION_EVENT_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698