| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 CONTENT_BROWSER_RENDERER_HOST_INPUT_SYNTHETIC_PINCH_GESTURE_H_ | 5 #ifndef CONTENT_BROWSER_RENDERER_HOST_INPUT_SYNTHETIC_PINCH_GESTURE_H_ |
| 6 #define CONTENT_BROWSER_RENDERER_HOST_INPUT_SYNTHETIC_PINCH_GESTURE_H_ | 6 #define CONTENT_BROWSER_RENDERER_HOST_INPUT_SYNTHETIC_PINCH_GESTURE_H_ |
| 7 | 7 |
| 8 #include "content/browser/renderer_host/input/synthetic_gesture.h" | 8 #include "content/browser/renderer_host/input/synthetic_gesture.h" |
| 9 #include "content/browser/renderer_host/input/synthetic_gesture_target.h" | 9 #include "content/browser/renderer_host/input/synthetic_gesture_target.h" |
| 10 #include "content/browser/renderer_host/input/synthetic_web_input_event_builders
.h" | 10 #include "content/browser/renderer_host/input/synthetic_web_input_event_builders
.h" |
| 11 #include "content/common/content_export.h" | 11 #include "content/common/content_export.h" |
| 12 #include "content/common/input/synthetic_pinch_gesture_params.h" | 12 #include "content/common/input/synthetic_pinch_gesture_params.h" |
| 13 #include "third_party/WebKit/public/web/WebInputEvent.h" | 13 #include "third_party/WebKit/public/web/WebInputEvent.h" |
| 14 | 14 |
| 15 namespace content { | 15 namespace content { |
| 16 | 16 |
| 17 class CONTENT_EXPORT SyntheticPinchGesture : public SyntheticGesture { | 17 class CONTENT_EXPORT SyntheticPinchGesture : public SyntheticGesture { |
| 18 public: | 18 public: |
| 19 explicit SyntheticPinchGesture(const SyntheticPinchGestureParams& params); | 19 explicit SyntheticPinchGesture(const SyntheticPinchGestureParams& params); |
| 20 virtual ~SyntheticPinchGesture(); | 20 virtual ~SyntheticPinchGesture(); |
| 21 | 21 |
| 22 virtual SyntheticGesture::Result ForwardInputEvents( | 22 virtual SyntheticGesture::Result ForwardInputEvents( |
| 23 const base::TimeDelta& interval, SyntheticGestureTarget* target) OVERRIDE; | 23 const base::TimeDelta& interval, SyntheticGestureTarget* target) OVERRIDE; |
| 24 | 24 |
| 25 private: | 25 private: |
| 26 enum GestureState { |
| 27 SETUP, |
| 28 STARTED, |
| 29 MOVING, |
| 30 DONE |
| 31 }; |
| 32 |
| 33 void ForwardTouchInputEvents( |
| 34 const base::TimeDelta& interval, SyntheticGestureTarget* target); |
| 35 |
| 36 void UpdateTouchPoints(base::TimeDelta interval); |
| 37 void PressTouchPoints(SyntheticGestureTarget* target); |
| 38 void MoveTouchPoints(SyntheticGestureTarget* target); |
| 39 void ReleaseTouchPoints(SyntheticGestureTarget* target); |
| 40 void ForwardTouchEvent(SyntheticGestureTarget* target) const; |
| 41 |
| 42 void SetupCoordinates(SyntheticGestureTarget* target); |
| 43 |
| 44 float GetDeltaForPointer0(const base::TimeDelta& interval) const; |
| 45 float ComputeAbsoluteRemainingDistance() const; |
| 46 bool HasReachedTarget() const; |
| 47 |
| 26 SyntheticPinchGestureParams params_; | 48 SyntheticPinchGestureParams params_; |
| 27 float current_y_0_; | 49 float current_y_0_; |
| 28 float current_y_1_; | 50 float current_y_1_; |
| 29 float target_y_0_; | 51 float target_y_0_; |
| 30 float target_y_1_; | 52 float target_y_1_; |
| 31 bool started_; | |
| 32 SyntheticWebTouchEvent touch_event_; | 53 SyntheticWebTouchEvent touch_event_; |
| 33 | 54 SyntheticGestureParams::GestureSourceType gesture_source_type_; |
| 34 SyntheticGesture::Result ForwardTouchInputEvents( | 55 GestureState state_; |
| 35 const base::TimeDelta& interval, SyntheticGestureTarget* target); | |
| 36 | |
| 37 void ForwardTouchEvent(SyntheticGestureTarget* target); | |
| 38 | |
| 39 float GetDeltaForPointer0(const base::TimeDelta& interval) const; | |
| 40 float ComputeAbsoluteRemainingDistance() const; | |
| 41 bool HasFinished() const; | |
| 42 | 56 |
| 43 DISALLOW_COPY_AND_ASSIGN(SyntheticPinchGesture); | 57 DISALLOW_COPY_AND_ASSIGN(SyntheticPinchGesture); |
| 44 }; | 58 }; |
| 45 | 59 |
| 46 } // namespace content | 60 } // namespace content |
| 47 | 61 |
| 48 #endif // CONTENT_BROWSER_RENDERER_HOST_INPUT_SYNTHETIC_PINCH_GESTURE_H_ | 62 #endif // CONTENT_BROWSER_RENDERER_HOST_INPUT_SYNTHETIC_PINCH_GESTURE_H_ |
| OLD | NEW |