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 3 // found in the LICENSE file. 4 5 #include "ui/events/gesture_detection/gesture_event_data.h" 6 7 #include "base/logging.h" 8 9 namespace ui { 10 11 GestureEventData::GestureEventData(const GestureEventDetails& details, 12 int motion_event_id, 13 MotionEvent::ToolType primary_tool_type, 14 base::TimeTicks time, 15 float x, 16 float y, 17 float raw_x, 18 float raw_y, 19 size_t touch_point_count, 20 const gfx::RectF& bounding_box, 21 int flags) 22 : details(details), 23 motion_event_id(motion_event_id), 24 primary_tool_type(primary_tool_type), 25 time(time), 26 x(x), 27 y(y), 28 raw_x(raw_x), 29 raw_y(raw_y), 30 flags(flags) { 31 DCHECK_GE(motion_event_id, 0); 32 DCHECK_NE(0U, touch_point_count); 33 this->details.set_touch_points(static_cast<int>(touch_point_count)); 34 this->details.set_bounding_box(bounding_box); 35 } 36 37 GestureEventData::GestureEventData(EventType type, 38 const GestureEventData& other) 39 : details(type), 40 motion_event_id(other.motion_event_id), 41 primary_tool_type(other.primary_tool_type), 42 time(other.time), 43 x(other.x), 44 y(other.y), 45 raw_x(other.raw_x), 46 raw_y(other.raw_y), 47 flags(other.flags) { 48 details.set_touch_points(other.details.touch_points()); 49 details.set_bounding_box(other.details.bounding_box_f()); 50 } 51 52 GestureEventData::GestureEventData() 53 : motion_event_id(0), 54 primary_tool_type(MotionEvent::TOOL_TYPE_UNKNOWN), 55 x(0), 56 y(0), 57 raw_x(0), 58 raw_y(0), 59 flags(EF_NONE) { 60 } 61 62 } // namespace ui 63