Index: ui/events/gesture_detection/motion_event_generic.h |
diff --git a/ui/events/gesture_detection/motion_event_generic.h b/ui/events/gesture_detection/motion_event_generic.h |
index 17109cb13801971fc94186d66b0a04b9b3760049..359a651a04111ac5788afd6c1c8535c5db9d1434 100644 |
--- a/ui/events/gesture_detection/motion_event_generic.h |
+++ b/ui/events/gesture_detection/motion_event_generic.h |
@@ -7,6 +7,7 @@ |
#include "base/basictypes.h" |
#include "base/containers/stack_container.h" |
+#include "base/memory/scoped_vector.h" |
#include "ui/events/gesture_detection/gesture_detection_export.h" |
#include "ui/events/gesture_detection/motion_event.h" |
@@ -14,7 +15,8 @@ namespace ui { |
struct GESTURE_DETECTION_EXPORT PointerProperties { |
PointerProperties(); |
- PointerProperties(float x, float y); |
+ PointerProperties(float x, float y, float touch_major); |
+ PointerProperties(const MotionEvent& event, size_t pointer_index); |
int id; |
MotionEvent::ToolType tool_type; |
@@ -56,11 +58,22 @@ class GESTURE_DETECTION_EXPORT MotionEventGeneric : public MotionEvent { |
int GetButtonState() const override; |
int GetFlags() const override; |
base::TimeTicks GetEventTime() const override; |
- scoped_ptr<MotionEvent> Clone() const override; |
- scoped_ptr<MotionEvent> Cancel() const override; |
+ size_t GetHistorySize() const override; |
+ base::TimeTicks GetHistoricalEventTime( |
+ size_t historical_index) const override; |
+ float GetHistoricalTouchMajor(size_t pointer_index, |
+ size_t historical_index) const override; |
+ float GetHistoricalX(size_t pointer_index, |
+ size_t historical_index) const override; |
+ float GetHistoricalY(size_t pointer_index, |
+ size_t historical_index) const override; |
void PushPointer(const PointerProperties& pointer); |
+ // Add an event to the history. |this| and |event| must have the same pointer |
+ // count and must both have an action of ACTION_MOVE. |
+ void PushHistoricalEvent(scoped_ptr<MotionEvent> event); |
+ |
void set_action(Action action) { action_ = action; } |
void set_event_time(base::TimeTicks event_time) { event_time_ = event_time; } |
void set_id(int id) { id_ = id; } |
@@ -68,8 +81,13 @@ class GESTURE_DETECTION_EXPORT MotionEventGeneric : public MotionEvent { |
void set_button_state(int button_state) { button_state_ = button_state; } |
void set_flags(int flags) { flags_ = flags; } |
+ static scoped_ptr<MotionEventGeneric> CloneEvent(const MotionEvent& event); |
+ static scoped_ptr<MotionEventGeneric> CancelEvent(const MotionEvent& event); |
+ |
protected: |
MotionEventGeneric(); |
+ MotionEventGeneric(const MotionEvent& event, bool with_history); |
+ MotionEventGeneric& operator=(const MotionEventGeneric& other); |
void PopPointer(); |
@@ -88,6 +106,7 @@ class GESTURE_DETECTION_EXPORT MotionEventGeneric : public MotionEvent { |
int button_state_; |
int flags_; |
base::StackVector<PointerProperties, kTypicalMaxPointerCount> pointers_; |
+ ScopedVector<MotionEvent> historical_events_; |
}; |
} // namespace ui |