gesture_event_data.cc revision 6e8cce623b6e4fe0c9e4af605d675dd9d0338c38
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
9namespace ui {
10
11GestureEventData::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    : details(details),
22      motion_event_id(motion_event_id),
23      primary_tool_type(primary_tool_type),
24      time(time),
25      x(x),
26      y(y),
27      raw_x(raw_x),
28      raw_y(raw_y) {
29  DCHECK_GE(motion_event_id, 0);
30  DCHECK_NE(0U, touch_point_count);
31  this->details.set_touch_points(static_cast<int>(touch_point_count));
32  this->details.set_bounding_box(bounding_box);
33}
34
35GestureEventData::GestureEventData(EventType type,
36                                   const GestureEventData& other)
37    : details(type, 0, 0),
38      motion_event_id(other.motion_event_id),
39      primary_tool_type(other.primary_tool_type),
40      time(other.time),
41      x(other.x),
42      y(other.y),
43      raw_x(other.raw_x),
44      raw_y(other.raw_y) {
45  details.set_touch_points(other.details.touch_points());
46  details.set_bounding_box(other.details.bounding_box_f());
47}
48
49GestureEventData::GestureEventData()
50    : motion_event_id(0),
51      primary_tool_type(MotionEvent::TOOL_TYPE_UNKNOWN),
52      x(0),
53      y(0),
54      raw_x(0),
55      raw_y(0) {
56}
57
58}  //  namespace ui
59