Roll src/third_party/skia 47326ab:17bfe0d
[chromium-blink-merge.git] / ui / events / gesture_event_details.cc
blob780713118d348dfdd4e31814ae97b24385f818c6
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.
5 #include "ui/events/gesture_event_details.h"
7 namespace ui {
9 GestureEventDetails::GestureEventDetails()
10 : type_(ET_UNKNOWN), touch_points_(0), oldest_touch_id_(-1) {
13 GestureEventDetails::GestureEventDetails(ui::EventType type)
14 : type_(type), touch_points_(1), oldest_touch_id_(-1) {
15 DCHECK_GE(type, ET_GESTURE_TYPE_START);
16 DCHECK_LE(type, ET_GESTURE_TYPE_END);
19 GestureEventDetails::GestureEventDetails(ui::EventType type,
20 float delta_x,
21 float delta_y)
22 : type_(type), touch_points_(1), oldest_touch_id_(-1) {
23 DCHECK_GE(type, ET_GESTURE_TYPE_START);
24 DCHECK_LE(type, ET_GESTURE_TYPE_END);
25 switch (type_) {
26 case ui::ET_GESTURE_SCROLL_BEGIN:
27 data.scroll_begin.x_hint = delta_x;
28 data.scroll_begin.y_hint = delta_y;
29 break;
31 case ui::ET_GESTURE_SCROLL_UPDATE:
32 data.scroll_update.x = delta_x;
33 data.scroll_update.y = delta_y;
34 break;
36 case ui::ET_SCROLL_FLING_START:
37 data.fling_velocity.x = delta_x;
38 data.fling_velocity.y = delta_y;
39 break;
41 case ui::ET_GESTURE_TWO_FINGER_TAP:
42 data.first_finger_enclosing_rectangle.width = delta_x;
43 data.first_finger_enclosing_rectangle.height = delta_y;
44 break;
46 case ui::ET_GESTURE_SWIPE:
47 data.swipe.left = delta_x < 0;
48 data.swipe.right = delta_x > 0;
49 data.swipe.up = delta_y < 0;
50 data.swipe.down = delta_y > 0;
51 break;
53 default:
54 NOTREACHED() << "Invalid event type for constructor: " << type;
58 GestureEventDetails::Details::Details() {
59 memset(this, 0, sizeof(Details));
62 } // namespace ui