Home | History | Annotate | Download | only in gesture_detection
      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