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

Unified Diff: remoting/client/gesture_interpreter.h

Issue 2879743002: [CRD iOS] Hook the touch input feedback (Closed)
Patch Set: Use the ui task poster 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
Index: remoting/client/gesture_interpreter.h
diff --git a/remoting/client/gesture_interpreter.h b/remoting/client/gesture_interpreter.h
index f4d369b8af60ccf4ad225baba3f2e2cd2382a283..920ff98593b4b485679772238ba6f4e81a35c9fb 100644
--- a/remoting/client/gesture_interpreter.h
+++ b/remoting/client/gesture_interpreter.h
@@ -7,14 +7,15 @@
#include <memory>
-#include "remoting/client/chromoting_session.h"
#include "remoting/client/desktop_viewport.h"
#include "remoting/client/fling_animation.h"
+#include "remoting/client/input_strategy.h"
#include "remoting/proto/event.pb.h"
namespace remoting {
-class InputStrategy;
+class ChromotingSession;
+class RenderStub;
// This is a class for interpreting a raw touch input into actions like moving
// the viewport and injecting mouse clicks.
@@ -22,9 +23,7 @@ class GestureInterpreter {
public:
enum GestureState { GESTURE_BEGAN, GESTURE_CHANGED, GESTURE_ENDED };
- GestureInterpreter(
- const DesktopViewport::TransformationCallback& on_transformation_changed,
- ChromotingSession* input_stub);
+ GestureInterpreter(RenderStub* render_stub, ChromotingSession* input_stub);
~GestureInterpreter();
// Coordinates of the OpenGL view surface will be used.
@@ -65,8 +64,26 @@ class GestureInterpreter {
float y,
protocol::MouseEvent_MouseButton button);
+ // Tracks the touch point and gets back the cursor position from the input
+ // strategy.
+ void TrackAndGetPosition(float touch_x,
+ float touch_y,
+ float* cursor_x,
+ float* cursor_y);
+
+ // If the cursor is visible, send the cursor position from the input strategy
+ // to the render stub.
+ void SetCursorPositionOnRenderStub();
+
+ // Starts the given feedback at (cursor_x, cursor_y) if the feedback radius
+ // is non-zero.
+ void StartInputFeedback(float cursor_x,
+ float cursor_y,
+ InputStrategy::InputFeedbackType feedback_type);
+
std::unique_ptr<InputStrategy> input_strategy_;
DesktopViewport viewport_;
+ RenderStub* render_stub_;
ChromotingSession* input_stub_;
bool is_dragging_mode_ = false;

Powered by Google App Engine
This is Rietveld 408576698