| 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 #ifndef UI_EVENTS_GESTURE_DETECTION_GESTURE_EVENT_PARAMS_H_ | 5 #ifndef UI_EVENTS_GESTURE_DETECTION_GESTURE_EVENT_DATA_H_ |
| 6 #define UI_EVENTS_GESTURE_DETECTION_GESTURE_EVENT_PARAMS_H_ | 6 #define UI_EVENTS_GESTURE_DETECTION_GESTURE_EVENT_DATA_H_ |
| 7 | 7 |
| 8 #include "base/time/time.h" | 8 #include "base/time/time.h" |
| 9 #include "ui/events/gesture_detection/gesture_detection_export.h" | 9 #include "ui/events/gesture_detection/gesture_detection_export.h" |
| 10 | 10 |
| 11 namespace ui { | 11 namespace ui { |
| 12 | 12 |
| 13 enum GestureEventType { | 13 enum GestureEventType { |
| 14 GESTURE_TYPE_INVALID = -1, |
| 15 GESTURE_TYPE_FIRST = 0, |
| 16 GESTURE_TAP_DOWN = GESTURE_TYPE_FIRST, |
| 17 GESTURE_TAP_UNCONFIRMED, |
| 18 GESTURE_TAP, |
| 19 GESTURE_DOUBLE_TAP, |
| 20 GESTURE_TAP_CANCEL, |
| 14 GESTURE_SHOW_PRESS, | 21 GESTURE_SHOW_PRESS, |
| 15 GESTURE_DOUBLE_TAP, | 22 GESTURE_LONG_TAP, |
| 16 GESTURE_SINGLE_TAP_CONFIRMED, | |
| 17 GESTURE_SINGLE_TAP_UNCONFIRMED, | |
| 18 GESTURE_LONG_PRESS, | 23 GESTURE_LONG_PRESS, |
| 19 GESTURE_SCROLL_BEGIN, | 24 GESTURE_SCROLL_BEGIN, |
| 20 GESTURE_SCROLL_UPDATE, | 25 GESTURE_SCROLL_UPDATE, |
| 21 GESTURE_SCROLL_END, | 26 GESTURE_SCROLL_END, |
| 22 GESTURE_FLING_START, | 27 GESTURE_FLING_START, |
| 23 GESTURE_FLING_CANCEL, | 28 GESTURE_FLING_CANCEL, |
| 24 GESTURE_PINCH_BEGIN, | 29 GESTURE_PINCH_BEGIN, |
| 25 GESTURE_PINCH_UPDATE, | 30 GESTURE_PINCH_UPDATE, |
| 26 GESTURE_PINCH_END, | 31 GESTURE_PINCH_END, |
| 27 GESTURE_TAP_CANCEL, | 32 GESTURE_TYPE_LAST = GESTURE_PINCH_END, |
| 28 GESTURE_LONG_TAP, | |
| 29 GESTURE_TAP_DOWN | |
| 30 }; | 33 }; |
| 31 | 34 |
| 32 // TODO(jdduke): Convert all (x,y) and (width,height) pairs to their | 35 class GestureEventDataPacket; |
| 33 // corresponding gfx:: geometry types. | 36 |
| 34 struct GESTURE_DETECTION_EXPORT GestureEventParams { | 37 // Simple transport construct for gesture-related event data. |
| 35 struct Data; | 38 // TODO(jdduke): Merge this class with ui::GestureEventDetails. |
| 36 GestureEventParams(GestureEventType type, | 39 struct GESTURE_DETECTION_EXPORT GestureEventData { |
| 37 base::TimeTicks time, | 40 struct Details; |
| 38 float x, | 41 GestureEventData(GestureEventType type, |
| 39 float y, | 42 base::TimeTicks time, |
| 40 const Data& data); | 43 float x, |
| 44 float y, |
| 45 const Details& details); |
| 41 | 46 |
| 42 GestureEventType type; | 47 GestureEventType type; |
| 43 base::TimeTicks time; | 48 base::TimeTicks time; |
| 44 float x; | 49 float x; |
| 45 float y; | 50 float y; |
| 46 | 51 |
| 47 // TODO(jdduke): Determine if we can simply re-use blink::WebGestureEvent, as | 52 // TODO(jdduke): Determine if we can simply re-use blink::WebGestureEvent, as |
| 48 // this is more or less straight up duplication. | 53 // this is more or less straight up duplication. |
| 49 struct Data { | 54 struct Details { |
| 50 Data(); | 55 Details(); |
| 51 union { | 56 union { |
| 52 struct { | 57 struct { |
| 53 int tap_count; | 58 int tap_count; |
| 54 float width; | 59 float width; |
| 55 float height; | 60 float height; |
| 56 } tap; | 61 } tap; |
| 57 | 62 |
| 58 struct { | 63 struct { |
| 59 float width; | 64 float width; |
| 60 float height; | 65 float height; |
| 61 } tap_down; | 66 } tap_down; |
| 62 | 67 |
| 63 struct { | 68 struct { |
| 64 float width; | 69 float width; |
| 65 float height; | 70 float height; |
| 66 } show_press; | 71 } show_press; |
| 67 | 72 |
| 68 struct { | 73 struct { |
| 69 float width; | 74 float width; |
| 70 float height; | 75 float height; |
| 71 } long_press; | 76 } long_press; |
| 72 | 77 |
| 73 struct { | 78 struct { |
| 74 // Initial motion that triggered the scroll. | 79 // Initial motion that triggered the scroll. |
| 75 // May be redundant with deltaX/deltaY in the first scrollUpdate. | 80 // May be redundant with delta_x/delta_y in the first scroll_update. |
| 76 float delta_x_hint; | 81 float delta_x_hint; |
| 77 float delta_y_hint; | 82 float delta_y_hint; |
| 78 } scroll_begin; | 83 } scroll_begin; |
| 79 | 84 |
| 80 struct { | 85 struct { |
| 81 float delta_x; | 86 float delta_x; |
| 82 float delta_y; | 87 float delta_y; |
| 83 float velocity_x; | 88 float velocity_x; |
| 84 float velocity_y; | 89 float velocity_y; |
| 85 } scroll_update; | 90 } scroll_update; |
| 86 | 91 |
| 87 struct { | 92 struct { |
| 88 float velocity_x; | 93 float velocity_x; |
| 89 float velocity_y; | 94 float velocity_y; |
| 90 } fling_start; | 95 } fling_start; |
| 91 | 96 |
| 92 struct { | 97 struct { |
| 93 float scale; | 98 float scale; |
| 94 } pinch_update; | 99 } pinch_update; |
| 95 }; | 100 }; |
| 96 } data; | 101 } details; |
| 97 | 102 |
| 98 private: | 103 private: |
| 99 GestureEventParams(); | 104 friend class GestureEventDataPacket; |
| 105 |
| 106 // Initializes type to GESTURE_TYPE_INVALID. |
| 107 GestureEventData(); |
| 100 }; | 108 }; |
| 101 | 109 |
| 102 } // namespace ui | 110 } // namespace ui |
| 103 | 111 |
| 104 #endif // UI_EVENTS_GESTURE_DETECTION_GESTURE_EVENT_PARAMS_H_ | 112 #endif // UI_EVENTS_GESTURE_DETECTION_GESTURE_EVENT_DATA_H_ |
| OLD | NEW |