|  | // Copyright 2014 The Chromium Authors. All rights reserved. | 
|  | // Use of this source code is governed by a BSD-style license that can be | 
|  | // found in the LICENSE file. | 
|  |  | 
|  | #ifndef UI_EVENTS_GESTURE_DETECTION_GESTURE_EVENT_DATA_H_ | 
|  | #define UI_EVENTS_GESTURE_DETECTION_GESTURE_EVENT_DATA_H_ | 
|  |  | 
|  | #include "base/time/time.h" | 
|  | #include "ui/events/event_constants.h" | 
|  | #include "ui/events/gesture_detection/gesture_detection_export.h" | 
|  | #include "ui/events/gesture_detection/motion_event.h" | 
|  | #include "ui/events/gesture_event_details.h" | 
|  |  | 
|  | namespace ui { | 
|  |  | 
|  | class GestureEventDataPacket; | 
|  |  | 
|  | struct GESTURE_DETECTION_EXPORT GestureEventData { | 
|  | GestureEventData(const GestureEventDetails&, | 
|  | int motion_event_id, | 
|  | MotionEvent::ToolType primary_tool_type, | 
|  | base::TimeTicks time, | 
|  | float x, | 
|  | float y, | 
|  | float raw_x, | 
|  | float raw_y, | 
|  | size_t touch_point_count, | 
|  | const gfx::RectF& bounding_box, | 
|  | int flags); | 
|  | GestureEventData(EventType type, const GestureEventData&); | 
|  |  | 
|  | EventType type() const { return details.type(); } | 
|  |  | 
|  | GestureEventDetails details; | 
|  | int motion_event_id; | 
|  | MotionEvent::ToolType primary_tool_type; | 
|  | base::TimeTicks time; | 
|  | float x; | 
|  | float y; | 
|  | float raw_x; | 
|  | float raw_y; | 
|  | int flags; | 
|  |  | 
|  | private: | 
|  | friend class GestureEventDataPacket; | 
|  |  | 
|  | // Initializes type to GESTURE_TYPE_INVALID. | 
|  | GestureEventData(); | 
|  | }; | 
|  |  | 
|  | }  //  namespace ui | 
|  |  | 
|  | #endif  // UI_EVENTS_GESTURE_DETECTION_GESTURE_EVENT_DATA_H_ |