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

Unified Diff: remoting/android/java/src/org/chromium/chromoting/RenderStub.java

Issue 2282783003: [Remoting Android] Create Interfaces for GlDisplay (Closed)
Patch Set: Merge ToT again Created 4 years, 4 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/android/java/src/org/chromium/chromoting/RenderStub.java
diff --git a/remoting/android/java/src/org/chromium/chromoting/RenderStub.java b/remoting/android/java/src/org/chromium/chromoting/RenderStub.java
new file mode 100644
index 0000000000000000000000000000000000000000..84adde1b2e80d6c759ea52e65ad84e063f67e2d5
--- /dev/null
+++ b/remoting/android/java/src/org/chromium/chromoting/RenderStub.java
@@ -0,0 +1,59 @@
+// Copyright 2016 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.
+
+package org.chromium.chromoting;
+
+import android.graphics.Matrix;
+import android.graphics.PointF;
+
+/**
+ * Interface with a set of functions to control the behavior of the remote host renderer.
+ */
+public interface RenderStub {
+ /** Used to define the animation feedback shown when a user touches the screen. */
+ enum InputFeedbackType {
+ NONE,
+ SHORT_TOUCH_ANIMATION,
+ LONG_TOUCH_ANIMATION,
+ LONG_TRACKPAD_ANIMATION
+ }
+
+ /**
+ * Resets the stub with |view|. The stub should avoid holding strong reference to |view|.
+ */
+ void setDesktopView(DesktopView view);
+
+ /** Triggers a brief animation to indicate the existence and location of an input event. */
+ void showInputFeedback(InputFeedbackType feedbackToShow, PointF pos);
+
+ /**
+ * Informs the stub that its transformation matrix (for rendering the remote desktop bitmap)
+ * has been changed, which requires repainting.
+ */
+ void setTransformation(Matrix matrix);
+
+ /**
+ * Informs the stub that the cursor position has been moved, which requires repainting.
+ */
+ void moveCursor(PointF pos);
+
+ /**
+ * Informs the stub that the cursor visibility has been changed (for different input mode),
+ * which requires repainting.
+ */
+ void setCursorVisibility(boolean visible);
+
+ /** An {@link Event} triggered when the client size is changed. */
+ Event<SizeChangedEventParameter> onClientSizeChanged();
+
+ /**
+ * An {@link Event} triggered when the size of the host desktop is changed.
+ */
+ Event<SizeChangedEventParameter> onHostSizeChanged();
+
+ /**
+ * An {@link} triggered when a frame has been rendered.
+ */
+ Event<Void> onCanvasRendered();
+}

Powered by Google App Engine
This is Rietveld 408576698