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

Unified Diff: remoting/client/input_strategy.h

Issue 2862893003: [CRD iOS] Inject mouse events to the host (Closed)
Patch Set: Resolve Feedback Created 3 years, 7 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « remoting/client/gesture_interpreter.cc ('k') | remoting/client/ios/client_gestures.mm » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: remoting/client/input_strategy.h
diff --git a/remoting/client/input_strategy.h b/remoting/client/input_strategy.h
new file mode 100644
index 0000000000000000000000000000000000000000..5f171681a61f96514eab8f3d795be789ed2ef1f1
--- /dev/null
+++ b/remoting/client/input_strategy.h
@@ -0,0 +1,51 @@
+// Copyright 2017 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef REMOTING_CLIENT_INPUT_STRATEGY_H_
+#define REMOTING_CLIENT_INPUT_STRATEGY_H_
+
+namespace remoting {
+
+class DesktopViewport;
+
+// This is an interface used by GestureInterpreter to customize the way gestures
+// are handled.
+class InputStrategy {
+ public:
+ virtual ~InputStrategy() {}
+
+ // Called when the GestureInterpreter receives a pinch gesture. The
+ // implementation is responsible for modifying the viewport and observing the
+ // change.
+ virtual void HandlePinch(float pivot_x,
+ float pivot_y,
+ float scale,
+ DesktopViewport* viewport) = 0;
+
+ // Called when the GestureInterpreter receives a pan gesture. The
+ // implementation is responsible for modifying the viewport and observing the
+ // change.
+ // is_dragging_mode: true if the user is trying to drag something while
+ // panning on the screen.
+ virtual void HandlePan(float translation_x,
+ float translation_y,
+ bool is_dragging_mode,
+ DesktopViewport* viewport) = 0;
+
+ // Called when a gesture is done at location (touch_x, touch_y) and the
+ // GestureInterpreter needs to get back the cursor position to inject mouse
+ // the mouse event.
+ virtual void FindCursorPositions(float touch_x,
+ float touch_y,
+ const DesktopViewport& viewport,
+ float* cursor_x,
+ float* cursor_y) = 0;
+
+ // Returns true if the input strategy maintains a visible cursor on the
+ // desktop.
+ virtual bool IsCursorVisible() const = 0;
+};
+
+} // namespace remoting
+#endif // REMOTING_CLIENT_INPUT_STRATEGY_H_
« no previous file with comments | « remoting/client/gesture_interpreter.cc ('k') | remoting/client/ios/client_gestures.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698