Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(221)

Side by Side Diff: ui/events/gesture_detection/gesture_event_data.h

Issue 181833003: [Android] Out with the Android GR, in with the new unified C++ GR (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 // TODO(jdduke): Consider adoption of ui::EventType.
13 enum GestureEventType { 14 enum GestureEventType {
15 GESTURE_TYPE_INVALID = -1,
16 GESTURE_TYPE_FIRST = 0,
17 GESTURE_TAP_DOWN = GESTURE_TYPE_FIRST,
18 GESTURE_TAP_UNCONFIRMED,
19 GESTURE_TAP,
20 GESTURE_DOUBLE_TAP,
21 GESTURE_TAP_CANCEL,
14 GESTURE_SHOW_PRESS, 22 GESTURE_SHOW_PRESS,
15 GESTURE_DOUBLE_TAP, 23 GESTURE_LONG_TAP,
16 GESTURE_SINGLE_TAP_CONFIRMED,
17 GESTURE_SINGLE_TAP_UNCONFIRMED,
18 GESTURE_LONG_PRESS, 24 GESTURE_LONG_PRESS,
19 GESTURE_SCROLL_BEGIN, 25 GESTURE_SCROLL_BEGIN,
20 GESTURE_SCROLL_UPDATE, 26 GESTURE_SCROLL_UPDATE,
21 GESTURE_SCROLL_END, 27 GESTURE_SCROLL_END,
22 GESTURE_FLING_START, 28 GESTURE_FLING_START,
23 GESTURE_FLING_CANCEL, 29 GESTURE_FLING_CANCEL,
24 GESTURE_PINCH_BEGIN, 30 GESTURE_PINCH_BEGIN,
25 GESTURE_PINCH_UPDATE, 31 GESTURE_PINCH_UPDATE,
26 GESTURE_PINCH_END, 32 GESTURE_PINCH_END,
27 GESTURE_TAP_CANCEL, 33 GESTURE_TYPE_LAST = GESTURE_PINCH_END,
28 GESTURE_LONG_TAP,
29 GESTURE_TAP_DOWN
30 }; 34 };
31 35
32 // TODO(jdduke): Convert all (x,y) and (width,height) pairs to their 36 class GestureEventDataPacket;
33 // corresponding gfx:: geometry types. 37
34 struct GESTURE_DETECTION_EXPORT GestureEventParams { 38 // Simple transport construct for gesture-related event data.
35 struct Data; 39 // TODO(jdduke): Merge this class with ui::GestureEventDetails.
36 GestureEventParams(GestureEventType type, 40 struct GESTURE_DETECTION_EXPORT GestureEventData {
37 base::TimeTicks time, 41 struct Details;
38 float x, 42 GestureEventData(GestureEventType type,
39 float y, 43 base::TimeTicks time,
40 const Data& data); 44 float x,
45 float y,
46 const Details& details);
41 47
42 GestureEventType type; 48 GestureEventType type;
43 base::TimeTicks time; 49 base::TimeTicks time;
44 float x; 50 float x;
45 float y; 51 float y;
46 52
47 // TODO(jdduke): Determine if we can simply re-use blink::WebGestureEvent, as 53 // TODO(jdduke): Determine if we can simply re-use blink::WebGestureEvent, as
48 // this is more or less straight up duplication. 54 // this is more or less straight up duplication.
49 struct Data { 55 struct GESTURE_DETECTION_EXPORT Details {
50 Data(); 56 Details();
51 union { 57 union {
52 struct { 58 struct {
53 int tap_count; 59 int tap_count;
54 float width; 60 float width;
55 float height; 61 float height;
56 } tap; 62 } tap;
57 63
58 struct { 64 struct {
59 float width; 65 float width;
60 float height; 66 float height;
61 } tap_down; 67 } tap_down;
62 68
63 struct { 69 struct {
64 float width; 70 float width;
65 float height; 71 float height;
66 } show_press; 72 } show_press;
67 73
68 struct { 74 struct {
69 float width; 75 float width;
70 float height; 76 float height;
71 } long_press; 77 } long_press;
72 78
73 struct { 79 struct {
74 // Initial motion that triggered the scroll. 80 // Initial motion that triggered the scroll.
75 // May be redundant with deltaX/deltaY in the first scrollUpdate. 81 // May be redundant with delta_x/delta_y in the first scroll_update.
76 float delta_x_hint; 82 float delta_x_hint;
77 float delta_y_hint; 83 float delta_y_hint;
78 } scroll_begin; 84 } scroll_begin;
79 85
80 struct { 86 struct {
81 float delta_x; 87 float delta_x;
82 float delta_y; 88 float delta_y;
83 float velocity_x; 89 float velocity_x;
84 float velocity_y; 90 float velocity_y;
85 } scroll_update; 91 } scroll_update;
86 92
87 struct { 93 struct {
88 float velocity_x; 94 float velocity_x;
89 float velocity_y; 95 float velocity_y;
90 } fling_start; 96 } fling_start;
91 97
92 struct { 98 struct {
93 float scale; 99 float scale;
94 } pinch_update; 100 } pinch_update;
95 }; 101 };
96 } data; 102 } details;
97 103
98 private: 104 private:
99 GestureEventParams(); 105 friend class GestureEventDataPacket;
106
107 // Initializes type to GESTURE_TYPE_INVALID.
108 GestureEventData();
100 }; 109 };
101 110
102 } // namespace ui 111 } // namespace ui
103 112
104 #endif // UI_EVENTS_GESTURE_DETECTION_GESTURE_EVENT_PARAMS_H_ 113 #endif // UI_EVENTS_GESTURE_DETECTION_GESTURE_EVENT_DATA_H_
OLDNEW
« no previous file with comments | « ui/events/gesture_detection/gesture_config_helper_aura.cc ('k') | ui/events/gesture_detection/gesture_event_data.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698