| Index: remoting/client/gesture_interpreter.h
|
| diff --git a/remoting/client/gesture_interpreter.h b/remoting/client/gesture_interpreter.h
|
| index 9ad968fff2353ef1e62c8ded65b05eee744deff2..f4d369b8af60ccf4ad225baba3f2e2cd2382a283 100644
|
| --- a/remoting/client/gesture_interpreter.h
|
| +++ b/remoting/client/gesture_interpreter.h
|
| @@ -9,6 +9,7 @@
|
|
|
| #include "remoting/client/chromoting_session.h"
|
| #include "remoting/client/desktop_viewport.h"
|
| +#include "remoting/client/fling_animation.h"
|
| #include "remoting/proto/event.pb.h"
|
|
|
| namespace remoting {
|
| @@ -27,19 +28,39 @@ class GestureInterpreter {
|
| ~GestureInterpreter();
|
|
|
| // Coordinates of the OpenGL view surface will be used.
|
| +
|
| + // This can happen in conjunction with Pan().
|
| void Pinch(float pivot_x, float pivot_y, float scale);
|
| +
|
| + // Called whenever the user did a pan gesture. It can be one-finger pan, no
|
| + // matter long-press in on or not, or two-finger pan in conjunction with the
|
| + // pinch gesture. Two-finger pan without pinch is consider a scroll gesture.
|
| void Pan(float translation_x, float translation_y);
|
| +
|
| + // Called when the user did a one-finger tap.
|
| void Tap(float x, float y);
|
| +
|
| void TwoFingerTap(float x, float y);
|
|
|
| // Caller is expected to call both Pan() and LongPress() when long-press is in
|
| // progress.
|
| void LongPress(float x, float y, GestureState state);
|
|
|
| + // Called when the user has just done a one-finger pan (no long-press or
|
| + // pinching) and the pan gesture still has some final velocity.
|
| + void OneFingerFling(float velocity_x, float velocity_y);
|
| +
|
| + // Called to process one animation frame.
|
| + void ProcessAnimations();
|
| +
|
| void OnSurfaceSizeChanged(int width, int height);
|
| void OnDesktopSizeChanged(int width, int height);
|
|
|
| private:
|
| + void PanWithoutAbortAnimations(float translation_x, float translation_y);
|
| +
|
| + void AbortAnimations();
|
| +
|
| void InjectMouseClick(float x,
|
| float y,
|
| protocol::MouseEvent_MouseButton button);
|
| @@ -49,6 +70,8 @@ class GestureInterpreter {
|
| ChromotingSession* input_stub_;
|
| bool is_dragging_mode_ = false;
|
|
|
| + FlingAnimation pan_animation_;
|
| +
|
| // GestureInterpreter is neither copyable nor movable.
|
| GestureInterpreter(const GestureInterpreter&) = delete;
|
| GestureInterpreter& operator=(const GestureInterpreter&) = delete;
|
|
|