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

Side by Side Diff: sky/engine/public/platform/WebInputEvent.h

Issue 868133003: Remove touch events from Sky (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 years, 11 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
« no previous file with comments | « sky/engine/public/BUILD.gn ('k') | sky/engine/public/platform/WebTouchPoint.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2009 Google Inc. All rights reserved. 2 * Copyright (C) 2009 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 17 matching lines...) Expand all
28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 */ 29 */
30 30
31 #ifndef SKY_ENGINE_PUBLIC_PLATFORM_WEBINPUTEVENT_H_ 31 #ifndef SKY_ENGINE_PUBLIC_PLATFORM_WEBINPUTEVENT_H_
32 #define SKY_ENGINE_PUBLIC_PLATFORM_WEBINPUTEVENT_H_ 32 #define SKY_ENGINE_PUBLIC_PLATFORM_WEBINPUTEVENT_H_
33 33
34 #include <string.h> 34 #include <string.h>
35 #include "sky/engine/public/platform/WebCommon.h" 35 #include "sky/engine/public/platform/WebCommon.h"
36 #include "sky/engine/public/platform/WebGestureDevice.h" 36 #include "sky/engine/public/platform/WebGestureDevice.h"
37 #include "sky/engine/public/platform/WebRect.h" 37 #include "sky/engine/public/platform/WebRect.h"
38 #include "sky/engine/public/platform/WebTouchPoint.h"
39 38
40 namespace blink { 39 namespace blink {
41 40
42 // The classes defined in this file are intended to be used with 41 // The classes defined in this file are intended to be used with
43 // WebWidget's handleInputEvent method. These event types are cross- 42 // WebWidget's handleInputEvent method. These event types are cross-
44 // platform and correspond closely to WebCore's Platform*Event classes. 43 // platform and correspond closely to WebCore's Platform*Event classes.
45 // 44 //
46 // WARNING! These classes must remain PODs (plain old data). They are 45 // WARNING! These classes must remain PODs (plain old data). They are
47 // intended to be "serializable" by copying their raw bytes, so they must 46 // intended to be "serializable" by copying their raw bytes, so they must
48 // not contain any non-bit-copyable member variables! 47 // not contain any non-bit-copyable member variables!
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
116 GestureTapDown, 115 GestureTapDown,
117 GestureTapCancel, 116 GestureTapCancel,
118 GestureDoubleTap, 117 GestureDoubleTap,
119 GestureTwoFingerTap, 118 GestureTwoFingerTap,
120 GestureLongPress, 119 GestureLongPress,
121 GestureLongTap, 120 GestureLongTap,
122 GesturePinchBegin, 121 GesturePinchBegin,
123 GesturePinchEnd, 122 GesturePinchEnd,
124 GesturePinchUpdate, 123 GesturePinchUpdate,
125 GestureTypeLast = GesturePinchUpdate, 124 GestureTypeLast = GesturePinchUpdate,
126
127 // WebTouchEvent
128 TouchStart,
129 TouchTypeFirst = TouchStart,
130 TouchMove,
131 TouchEnd,
132 TouchCancel,
133 TouchTypeLast = TouchCancel,
134
135 TypeLast = TouchTypeLast
136 }; 125 };
137 126
138 enum Modifiers { 127 enum Modifiers {
139 // modifiers for all events: 128 // modifiers for all events:
140 ShiftKey = 1 << 0, 129 ShiftKey = 1 << 0,
141 ControlKey = 1 << 1, 130 ControlKey = 1 << 1,
142 AltKey = 1 << 2, 131 AltKey = 1 << 2,
143 MetaKey = 1 << 3, 132 MetaKey = 1 << 3,
144 133
145 // modifiers for keyboard events: 134 // modifiers for keyboard events:
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
181 { 170 {
182 return PointerTypeFirst <= type && type <= PointerTypeLast; 171 return PointerTypeFirst <= type && type <= PointerTypeLast;
183 } 172 }
184 173
185 // Returns true if the WebInputEvent |type| is a keyboard event. 174 // Returns true if the WebInputEvent |type| is a keyboard event.
186 static bool isKeyboardEventType(int type) 175 static bool isKeyboardEventType(int type)
187 { 176 {
188 return KeyboardTypeFirst <= type && type <= KeyboardTypeLast; 177 return KeyboardTypeFirst <= type && type <= KeyboardTypeLast;
189 } 178 }
190 179
191 // Returns true if the WebInputEvent |type| is a touch event.
192 static bool isTouchEventType(int type)
193 {
194 return TouchTypeFirst <= type && type <= TouchTypeLast;
195 }
196
197 // Returns true if the WebInputEvent is a gesture event. 180 // Returns true if the WebInputEvent is a gesture event.
198 static bool isGestureEventType(int type) 181 static bool isGestureEventType(int type)
199 { 182 {
200 return GestureTypeFirst <= type && type <= GestureTypeLast; 183 return GestureTypeFirst <= type && type <= GestureTypeLast;
201 } 184 }
202 185
203 protected: 186 protected:
204 explicit WebInputEvent(unsigned sizeParam) 187 explicit WebInputEvent(unsigned sizeParam)
205 { 188 {
206 memset(this, 0, sizeParam); 189 memset(this, 0, sizeParam);
(...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after
378 : WebInputEvent(sizeof(WebGestureEvent)) 361 : WebInputEvent(sizeof(WebGestureEvent))
379 , x(0) 362 , x(0)
380 , y(0) 363 , y(0)
381 , globalX(0) 364 , globalX(0)
382 , globalY(0) 365 , globalY(0)
383 { 366 {
384 memset(&data, 0, sizeof(data)); 367 memset(&data, 0, sizeof(data));
385 } 368 }
386 }; 369 };
387 370
388 // WebTouchEvent --------------------------------------------------------------
389
390 class WebTouchEvent : public WebInputEvent {
391 public:
392 // Maximum number of simultaneous touches supported on
393 // Ash/Aura.
394 enum { touchesLengthCap = 12 };
395
396 unsigned touchesLength;
397 // List of all touches which are currently down.
398 WebTouchPoint touches[touchesLengthCap];
399
400 unsigned changedTouchesLength;
401 // List of all touches whose state has changed since the last WebTouchEvent
402 WebTouchPoint changedTouches[touchesLengthCap];
403
404 unsigned targetTouchesLength;
405 // List of all touches which are currently down and are targeting the event recipient.
406 WebTouchPoint targetTouches[touchesLengthCap];
407
408 // Whether the event can be canceled (with preventDefault). If true then the browser
409 // must wait for an ACK for this event. If false then no ACK IPC is expected .
410 // See comment at the top for why an int is used here instead of a bool.
411 int cancelable;
412
413 WebTouchEvent()
414 : WebInputEvent(sizeof(WebTouchEvent))
415 , touchesLength(0)
416 , changedTouchesLength(0)
417 , targetTouchesLength(0)
418 , cancelable(true)
419 {
420 }
421 };
422
423 #pragma pack(pop) 371 #pragma pack(pop)
424 372
425 } // namespace blink 373 } // namespace blink
426 374
427 #endif // SKY_ENGINE_PUBLIC_PLATFORM_WEBINPUTEVENT_H_ 375 #endif // SKY_ENGINE_PUBLIC_PLATFORM_WEBINPUTEVENT_H_
OLDNEW
« no previous file with comments | « sky/engine/public/BUILD.gn ('k') | sky/engine/public/platform/WebTouchPoint.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698