Chromium Code Reviews| Index: ui/base/gestures/gesture_types.h |
| diff --git a/ui/base/gestures/gesture_types.h b/ui/base/gestures/gesture_types.h |
| index 0407954ce92205692eda160c81acba739a385a70..7a78f5dfcb6c41b411465602e4f3c8f1c497be3a 100644 |
| --- a/ui/base/gestures/gesture_types.h |
| +++ b/ui/base/gestures/gesture_types.h |
| @@ -13,6 +13,7 @@ |
| namespace ui { |
| class GestureEvent; |
| +class GestureSequence; |
| class TouchEvent; |
| struct UI_EXPORT GestureEventDetails { |
| @@ -22,27 +23,31 @@ struct UI_EXPORT GestureEventDetails { |
| EventType type() const { return type_; } |
| int touch_points() const { return touch_points_; } |
| - void set_touch_points(int touch_points) { touch_points_ = touch_points; } |
| const gfx::Rect& bounding_box() const { return bounding_box_; } |
| - void set_bounding_box(const gfx::Rect& box) { bounding_box_ = box; } |
| float scroll_x() const { |
| CHECK_EQ(ui::ET_GESTURE_SCROLL_UPDATE, type_); |
| return data.scroll.x; |
| } |
| + |
| float scroll_y() const { |
| CHECK_EQ(ui::ET_GESTURE_SCROLL_UPDATE, type_); |
| return data.scroll.y; |
| } |
| float velocity_x() const { |
| - CHECK_EQ(ui::ET_SCROLL_FLING_START, type_); |
| - return data.velocity.x; |
| + CHECK(type_ == ui::ET_GESTURE_SCROLL_UPDATE || |
| + type_ == ui::ET_SCROLL_FLING_START); |
| + return type_ == ui::ET_GESTURE_SCROLL_UPDATE ? data.scroll.velocity_x : |
| + data.velocity.x; |
| } |
| + |
| float velocity_y() const { |
| - CHECK_EQ(ui::ET_SCROLL_FLING_START, type_); |
| - return data.velocity.y; |
| + CHECK(type_ == ui::ET_GESTURE_SCROLL_UPDATE || |
| + type_ == ui::ET_SCROLL_FLING_START); |
| + return type_ == ui::ET_GESTURE_SCROLL_UPDATE ? data.scroll.velocity_y : |
| + data.velocity.y; |
| } |
| int touch_id() const { |
| @@ -59,14 +64,17 @@ struct UI_EXPORT GestureEventDetails { |
| CHECK_EQ(ui::ET_GESTURE_MULTIFINGER_SWIPE, type_); |
| return data.swipe.left; |
| } |
| + |
| bool swipe_right() const { |
| CHECK_EQ(ui::ET_GESTURE_MULTIFINGER_SWIPE, type_); |
| return data.swipe.right; |
| } |
| + |
| bool swipe_up() const { |
| CHECK_EQ(ui::ET_GESTURE_MULTIFINGER_SWIPE, type_); |
| return data.swipe.up; |
| } |
| + |
| bool swipe_down() const { |
| CHECK_EQ(ui::ET_GESTURE_MULTIFINGER_SWIPE, type_); |
| return data.swipe.down; |
| @@ -78,11 +86,19 @@ struct UI_EXPORT GestureEventDetails { |
| } |
| private: |
| + friend class GestureSequence; |
|
rjkroege
2012/08/20 14:52:17
grumble.
sadrul
2012/08/20 15:48:34
This is mostly to allow only GestureSequence to be
|
| + |
| + void set_touch_points(int touch_points) { touch_points_ = touch_points; } |
| + void set_bounding_box(const gfx::Rect& box) { bounding_box_ = box; } |
| + void SetScrollVelocity(float velocity_x, float velocity_y); |
| + |
| ui::EventType type_; |
| union { |
| struct { // SCROLL delta. |
| float x; |
| float y; |
| + float velocity_x; |
| + float velocity_y; |
| } scroll; |
| float scale; // PINCH scale. |
| @@ -102,11 +118,6 @@ struct UI_EXPORT GestureEventDetails { |
| } swipe; |
| int tap_count; // TAP repeat count. |
| - |
| - struct { |
| - float delta_x; |
| - float delta_y; |
| - } generic; |
| } data; |
| int touch_points_; // Number of active touch points in the gesture. |