OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "ui/events/gesture_event_details.h" | 5 #include "ui/events/gesture_event_details.h" |
6 | 6 |
7 namespace ui { | 7 namespace ui { |
8 | 8 |
9 GestureEventDetails::GestureEventDetails() | 9 GestureEventDetails::GestureEventDetails() |
10 : type_(ET_UNKNOWN), touch_points_(0), oldest_touch_id_(-1) { | 10 : type_(ET_UNKNOWN), touch_points_(0), oldest_touch_id_(-1) { |
11 } | 11 } |
12 | 12 |
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); | |
17 } | |
18 | |
19 GestureEventDetails::GestureEventDetails(ui::EventType type, | 13 GestureEventDetails::GestureEventDetails(ui::EventType type, |
20 float delta_x, | 14 float delta_x, |
21 float delta_y) | 15 float delta_y) |
22 : type_(type), touch_points_(1), oldest_touch_id_(-1) { | 16 : type_(type), touch_points_(1), oldest_touch_id_(0) { |
23 DCHECK_GE(type, ET_GESTURE_TYPE_START); | 17 DCHECK_GE(type, ET_GESTURE_TYPE_START); |
24 DCHECK_LE(type, ET_GESTURE_TYPE_END); | 18 DCHECK_LE(type, ET_GESTURE_TYPE_END); |
25 switch (type_) { | 19 switch (type_) { |
26 case ui::ET_GESTURE_SCROLL_BEGIN: | 20 case ui::ET_GESTURE_SCROLL_BEGIN: |
27 data.scroll_begin.x_hint = delta_x; | 21 data.scroll_begin.x_hint = delta_x; |
28 data.scroll_begin.y_hint = delta_y; | 22 data.scroll_begin.y_hint = delta_y; |
29 break; | 23 break; |
30 | 24 |
31 case ui::ET_GESTURE_SCROLL_UPDATE: | 25 case ui::ET_GESTURE_SCROLL_UPDATE: |
32 data.scroll_update.x = delta_x; | 26 data.scroll_update.x = delta_x; |
33 data.scroll_update.y = delta_y; | 27 data.scroll_update.y = delta_y; |
34 break; | 28 break; |
35 | 29 |
36 case ui::ET_SCROLL_FLING_START: | 30 case ui::ET_SCROLL_FLING_START: |
37 data.fling_velocity.x = delta_x; | 31 data.fling_velocity.x = delta_x; |
38 data.fling_velocity.y = delta_y; | 32 data.fling_velocity.y = delta_y; |
39 break; | 33 break; |
40 | 34 |
41 case ui::ET_GESTURE_TWO_FINGER_TAP: | 35 case ui::ET_GESTURE_TWO_FINGER_TAP: |
42 data.first_finger_enclosing_rectangle.width = delta_x; | 36 data.first_finger_enclosing_rectangle.width = delta_x; |
43 data.first_finger_enclosing_rectangle.height = delta_y; | 37 data.first_finger_enclosing_rectangle.height = delta_y; |
44 break; | 38 break; |
45 | 39 |
| 40 case ui::ET_GESTURE_PINCH_UPDATE: |
| 41 data.scale = delta_x; |
| 42 CHECK_EQ(0.f, delta_y) << "Unknown data in delta_y for pinch"; |
| 43 break; |
| 44 |
46 case ui::ET_GESTURE_SWIPE: | 45 case ui::ET_GESTURE_SWIPE: |
47 data.swipe.left = delta_x < 0; | 46 data.swipe.left = delta_x < 0; |
48 data.swipe.right = delta_x > 0; | 47 data.swipe.right = delta_x > 0; |
49 data.swipe.up = delta_y < 0; | 48 data.swipe.up = delta_y < 0; |
50 data.swipe.down = delta_y > 0; | 49 data.swipe.down = delta_y > 0; |
51 break; | 50 break; |
52 | 51 |
| 52 case ui::ET_GESTURE_TAP: |
| 53 case ui::ET_GESTURE_DOUBLE_TAP: |
| 54 case ui::ET_GESTURE_TAP_UNCONFIRMED: |
| 55 data.tap_count = static_cast<int>(delta_x); |
| 56 CHECK_EQ(0.f, delta_y) << "Unknown data in delta_y for tap."; |
| 57 break; |
| 58 |
53 default: | 59 default: |
54 NOTREACHED() << "Invalid event type for constructor: " << type; | 60 if (delta_x != 0.f || delta_y != 0.f) { |
| 61 DLOG(WARNING) << "A gesture event (" << type << ") had unknown data: (" |
| 62 << delta_x << "," << delta_y; |
| 63 } |
| 64 break; |
55 } | 65 } |
56 } | 66 } |
57 | 67 |
58 GestureEventDetails::Details::Details() { | 68 GestureEventDetails::Details::Details() { |
59 memset(this, 0, sizeof(Details)); | 69 memset(this, 0, sizeof(Details)); |
60 } | 70 } |
61 | 71 |
62 } // namespace ui | 72 } // namespace ui |
OLD | NEW |