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

Side by Side Diff: ui/events/event.h

Issue 680413006: Re-enable Eager Gesture Recognition on Aura (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Add DCHECK. Created 6 years 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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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_EVENT_H_ 5 #ifndef UI_EVENTS_EVENT_H_
6 #define UI_EVENTS_EVENT_H_ 6 #define UI_EVENTS_EVENT_H_
7 7
8 #include "base/basictypes.h" 8 #include "base/basictypes.h"
9 #include "base/compiler_specific.h" 9 #include "base/compiler_specific.h"
10 #include "base/event_types.h" 10 #include "base/event_types.h"
(...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after
197 } 197 }
198 198
199 // Convenience methods to cast |this| to a GestureEvent. IsGestureEvent() 199 // Convenience methods to cast |this| to a GestureEvent. IsGestureEvent()
200 // must be true as a precondition to calling these methods. 200 // must be true as a precondition to calling these methods.
201 GestureEvent* AsGestureEvent(); 201 GestureEvent* AsGestureEvent();
202 const GestureEvent* AsGestureEvent() const; 202 const GestureEvent* AsGestureEvent() const;
203 203
204 // Returns true if the event has a valid |native_event_|. 204 // Returns true if the event has a valid |native_event_|.
205 bool HasNativeEvent() const; 205 bool HasNativeEvent() const;
206 206
207 // Marks the event as not participating in synchronous gesture recognition.
208 void DisableSynchronousHandling();
209 bool synchronous_handling_disabled() const {
210 return !!(result_ & ER_DISABLE_SYNC_HANDLING);
211 }
212
207 // Immediately stops the propagation of the event. This must be called only 213 // Immediately stops the propagation of the event. This must be called only
208 // from an EventHandler during an event-dispatch. Any event handler that may 214 // from an EventHandler during an event-dispatch. Any event handler that may
209 // be in the list will not receive the event after this is called. 215 // be in the list will not receive the event after this is called.
210 // Note that StopPropagation() can be called only for cancelable events. 216 // Note that StopPropagation() can be called only for cancelable events.
211 void StopPropagation(); 217 void StopPropagation();
212 bool stopped_propagation() const { return !!(result_ & ER_CONSUMED); } 218 bool stopped_propagation() const { return !!(result_ & ER_CONSUMED); }
213 219
214 // Marks the event as having been handled. A handled event does not reach the 220 // Marks the event as having been handled. A handled event does not reach the
215 // next event phase. For example, if an event is handled during the pre-target 221 // next event phase. For example, if an event is handled during the pre-target
216 // phase, then the event is dispatched to all pre-target handlers, but not to 222 // phase, then the event is dispatched to all pre-target handlers, but not to
(...skipping 265 matching lines...) Expand 10 before | Expand all | Expand 10 after
482 public: 488 public:
483 explicit TouchEvent(const base::NativeEvent& native_event); 489 explicit TouchEvent(const base::NativeEvent& native_event);
484 490
485 // Create a new TouchEvent which is identical to the provided model. 491 // Create a new TouchEvent which is identical to the provided model.
486 // If source / target windows are provided, the model location will be 492 // If source / target windows are provided, the model location will be
487 // converted from |source| coordinate system to |target| coordinate system. 493 // converted from |source| coordinate system to |target| coordinate system.
488 template <class T> 494 template <class T>
489 TouchEvent(const TouchEvent& model, T* source, T* target) 495 TouchEvent(const TouchEvent& model, T* source, T* target)
490 : LocatedEvent(model, source, target), 496 : LocatedEvent(model, source, target),
491 touch_id_(model.touch_id_), 497 touch_id_(model.touch_id_),
498 unique_event_id_(model.unique_event_id_),
492 radius_x_(model.radius_x_), 499 radius_x_(model.radius_x_),
493 radius_y_(model.radius_y_), 500 radius_y_(model.radius_y_),
494 rotation_angle_(model.rotation_angle_), 501 rotation_angle_(model.rotation_angle_),
495 force_(model.force_) { 502 force_(model.force_) {}
496 }
497 503
498 TouchEvent(EventType type, 504 TouchEvent(EventType type,
499 const gfx::PointF& location, 505 const gfx::PointF& location,
500 int touch_id, 506 int touch_id,
501 base::TimeDelta time_stamp); 507 base::TimeDelta time_stamp);
502 508
503 TouchEvent(EventType type, 509 TouchEvent(EventType type,
504 const gfx::PointF& location, 510 const gfx::PointF& location,
505 int flags, 511 int flags,
506 int touch_id, 512 int touch_id,
507 base::TimeDelta timestamp, 513 base::TimeDelta timestamp,
508 float radius_x, 514 float radius_x,
509 float radius_y, 515 float radius_y,
510 float angle, 516 float angle,
511 float force); 517 float force);
512 518
513 ~TouchEvent() override; 519 ~TouchEvent() override;
514 520
521 // The id of the pointer this event modifies.
515 int touch_id() const { return touch_id_; } 522 int touch_id() const { return touch_id_; }
523 // A unique identifier for this event.
524 unsigned long long unique_event_id() const { return unique_event_id_; }
516 float radius_x() const { return radius_x_; } 525 float radius_x() const { return radius_x_; }
517 float radius_y() const { return radius_y_; } 526 float radius_y() const { return radius_y_; }
518 float rotation_angle() const { return rotation_angle_; } 527 float rotation_angle() const { return rotation_angle_; }
519 float force() const { return force_; } 528 float force() const { return force_; }
520 529
521 // Used for unit tests. 530 // Used for unit tests.
522 void set_radius_x(const float r) { radius_x_ = r; } 531 void set_radius_x(const float r) { radius_x_ = r; }
523 void set_radius_y(const float r) { radius_y_ = r; } 532 void set_radius_y(const float r) { radius_y_ = r; }
524 533
525 // Overridden from LocatedEvent. 534 // Overridden from LocatedEvent.
(...skipping 10 matching lines...) Expand all
536 rotation_angle_ = rotation_angle; 545 rotation_angle_ = rotation_angle;
537 } 546 }
538 547
539 void set_force(float force) { force_ = force; } 548 void set_force(float force) { force_ = force; }
540 549
541 private: 550 private:
542 // The identity (typically finger) of the touch starting at 0 and incrementing 551 // The identity (typically finger) of the touch starting at 0 and incrementing
543 // for each separable additional touch that the hardware can detect. 552 // for each separable additional touch that the hardware can detect.
544 const int touch_id_; 553 const int touch_id_;
545 554
555 // A unique identifier for the touch event. Currently only used for
556 // checking equality of touch events for debugging purposes.
557 const unsigned long long unique_event_id_;
558
546 // Radius of the X (major) axis of the touch ellipse. 0.0 if unknown. 559 // Radius of the X (major) axis of the touch ellipse. 0.0 if unknown.
547 float radius_x_; 560 float radius_x_;
548 561
549 // Radius of the Y (minor) axis of the touch ellipse. 0.0 if unknown. 562 // Radius of the Y (minor) axis of the touch ellipse. 0.0 if unknown.
550 float radius_y_; 563 float radius_y_;
551 564
552 // Angle of the major axis away from the X axis. Default 0.0. 565 // Angle of the major axis away from the X axis. Default 0.0.
553 float rotation_angle_; 566 float rotation_angle_;
554 567
555 // Force (pressure) of the touch. Normalized to be [0, 1]. Default to be 0.0. 568 // Force (pressure) of the touch. Normalized to be [0, 1]. Default to be 0.0.
(...skipping 254 matching lines...) Expand 10 before | Expand all | Expand 10 after
810 823
811 const GestureEventDetails& details() const { return details_; } 824 const GestureEventDetails& details() const { return details_; }
812 825
813 private: 826 private:
814 GestureEventDetails details_; 827 GestureEventDetails details_;
815 }; 828 };
816 829
817 } // namespace ui 830 } // namespace ui
818 831
819 #endif // UI_EVENTS_EVENT_H_ 832 #endif // UI_EVENTS_EVENT_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698