summaryrefslogtreecommitdiffstats
path: root/ui/events/gestures/motion_event_aura.h
diff options
context:
space:
mode:
Diffstat (limited to 'ui/events/gestures/motion_event_aura.h')
-rw-r--r--ui/events/gestures/motion_event_aura.h61
1 files changed, 5 insertions, 56 deletions
diff --git a/ui/events/gestures/motion_event_aura.h b/ui/events/gestures/motion_event_aura.h
index 025fac2..2278b36 100644
--- a/ui/events/gestures/motion_event_aura.h
+++ b/ui/events/gestures/motion_event_aura.h
@@ -11,38 +11,21 @@
#include "base/time/time.h"
#include "ui/events/event.h"
#include "ui/events/events_export.h"
-#include "ui/events/gesture_detection/motion_event.h"
+#include "ui/events/gesture_detection/motion_event_generic.h"
namespace ui {
// Implementation of MotionEvent which takes a stream of ui::TouchEvents.
-class EVENTS_EXPORT MotionEventAura : public MotionEvent {
+class EVENTS_EXPORT MotionEventAura : public MotionEventGeneric {
public:
MotionEventAura();
~MotionEventAura() override;
- void OnTouch(const TouchEvent& touch);
-
- // MotionEvent implementation.
+ // MotionEventGeneric:
int GetId() const override;
- Action GetAction() const override;
- int GetActionIndex() const override;
- size_t GetPointerCount() const override;
- int GetPointerId(size_t pointer_index) const override;
- float GetX(size_t pointer_index) const override;
- float GetY(size_t pointer_index) const override;
- float GetRawX(size_t pointer_index) const override;
- float GetRawY(size_t pointer_index) const override;
- float GetTouchMajor(size_t pointer_index) const override;
- float GetTouchMinor(size_t pointer_index) const override;
- float GetOrientation(size_t pointer_index) const override;
- float GetPressure(size_t pointer_index) const override;
- ToolType GetToolType(size_t pointer_index) const override;
- int GetButtonState() const override;
- int GetFlags() const override;
- base::TimeTicks GetEventTime() const override;
+ int GetSourceDeviceId(size_t pointer_index) const override;
- int GetSourceDeviceId(size_t pointer_index) const;
+ void OnTouch(const TouchEvent& touch);
// We can't cleanup removed touch points immediately upon receipt of a
// TouchCancel or TouchRelease, as the MotionEvent needs to be able to report
@@ -52,45 +35,11 @@ class EVENTS_EXPORT MotionEventAura : public MotionEvent {
void CleanupRemovedTouchPoints(const TouchEvent& event);
private:
- struct PointData {
- PointData();
- float x;
- float y;
- float raw_x;
- float raw_y;
- int touch_id;
- float pressure;
- int source_device_id;
- float touch_major;
- float touch_minor;
- float orientation;
- };
-
- MotionEventAura(
- size_t pointer_count,
- const base::TimeTicks& last_touch_time,
- Action cached_action,
- int cached_action_index,
- int flags,
- const PointData (&active_touches)[MotionEvent::MAX_TOUCH_POINT_COUNT]);
-
- static PointData GetPointDataFromTouchEvent(const TouchEvent& touch);
void AddTouch(const TouchEvent& touch);
void UpdateTouch(const TouchEvent& touch);
void UpdateCachedAction(const TouchEvent& touch);
int GetIndexFromId(int id) const;
- size_t pointer_count_;
- base::TimeTicks last_touch_time_;
- Action cached_action_;
- // The index of the touch responsible for last ACTION_POINTER_DOWN or
- // ACTION_POINTER_UP. -1 if no such action has occurred.
- int cached_action_index_;
- int flags_;
-
- // We want constant time indexing by pointer_index, and fast indexing by id.
- PointData active_touches_[MotionEvent::MAX_TOUCH_POINT_COUNT];
-
DISALLOW_COPY_AND_ASSIGN(MotionEventAura);
};