Index: remoting/android/java/src/org/chromium/chromoting/GlDesktopView.java |
diff --git a/remoting/android/java/src/org/chromium/chromoting/GlDesktopView.java b/remoting/android/java/src/org/chromium/chromoting/GlDesktopView.java |
index dff7c5bc3c825e873bf586ac02b2bdc480ac1896..af8f6fa82976e20f2ed25d0cdd1ac5663e02b1d2 100644 |
--- a/remoting/android/java/src/org/chromium/chromoting/GlDesktopView.java |
+++ b/remoting/android/java/src/org/chromium/chromoting/GlDesktopView.java |
@@ -4,6 +4,7 @@ |
package org.chromium.chromoting; |
+import android.graphics.Matrix; |
import android.graphics.PointF; |
import android.view.SurfaceHolder; |
@@ -22,6 +23,8 @@ public class GlDesktopView extends DesktopView implements SurfaceHolder.Callback |
private Event.ParameterRunnable<Void> mProcessAnimationRunnable; |
+ private float mScaleFactor; |
+ |
public GlDesktopView(GlDisplay display, Desktop desktop, Client client) { |
super(desktop, client); |
Preconditions.notNull(display); |
@@ -34,13 +37,14 @@ public class GlDesktopView extends DesktopView implements SurfaceHolder.Callback |
} |
}; |
+ mScaleFactor = 0; |
+ |
getHolder().addCallback(this); |
} |
@Override |
public void showInputFeedback(InputFeedbackType feedbackToShow, PointF pos) { |
- float scaleFactor = mRenderData.transform.mapRadius(1); |
- float diameter = getFeedbackRadius(feedbackToShow, scaleFactor) * 2.0f; |
+ float diameter = getFeedbackRadius(feedbackToShow, mScaleFactor) * 2.0f; |
if (diameter <= 0.0f) { |
return; |
} |
@@ -48,25 +52,21 @@ public class GlDesktopView extends DesktopView implements SurfaceHolder.Callback |
} |
@Override |
- public void transformationChanged() { |
- if (mRenderData.imageHeight == 0 || mRenderData.imageWidth == 0 |
Yuwei
2016/08/25 21:32:28
Just removed this check since it doesn't look usef
joedow
2016/08/25 22:57:47
The reason this existed was that there used to be
Yuwei
2016/08/25 23:14:35
Acknowledged.
|
- || mRenderData.screenHeight == 0 || mRenderData.screenWidth == 0) { |
- return; |
- } |
- float[] matrix = new float[9]; |
- mRenderData.transform.getValues(matrix); |
- mDisplay.pixelTransformationChanged(matrix); |
+ public void transformationChanged(Matrix matrix) { |
+ float[] matrixArray = new float[9]; |
+ matrix.getValues(matrixArray); |
+ mDisplay.pixelTransformationChanged(matrixArray); |
+ mScaleFactor = matrix.mapRadius(1); |
} |
@Override |
- public void cursorMoved() { |
- PointF cursorPosition = mRenderData.getCursorPosition(); |
- mDisplay.cursorPixelPositionChanged(cursorPosition.x, cursorPosition.y); |
+ public void cursorMoved(PointF position) { |
+ mDisplay.cursorPixelPositionChanged(position.x, position.y); |
} |
@Override |
- public void cursorVisibilityChanged() { |
- mDisplay.cursorVisibilityChanged(mRenderData.drawCursor); |
+ public void cursorVisibilityChanged(boolean visible) { |
+ mDisplay.cursorVisibilityChanged(visible); |
} |
@Override |
@@ -87,12 +87,6 @@ public class GlDesktopView extends DesktopView implements SurfaceHolder.Callback |
.onHostSizeChanged().add(new Event.ParameterRunnable<SizeChangedEventParameter>() { |
@Override |
public void run(SizeChangedEventParameter p) { |
- mRenderData.imageHeight = p.height; |
- mRenderData.imageWidth = p.width; |
- |
- // Note that imageHeight and imageWidth must be set before |
- // mOnHostSizeChanged is triggered. mInputHandler expects the image size in |
- // mRenderData updated before its callback is called. |
mOnHostSizeChanged.raise(p); |
} |
}); |
@@ -102,9 +96,6 @@ public class GlDesktopView extends DesktopView implements SurfaceHolder.Callback |
@Override |
public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) { |
- mRenderData.screenWidth = width; |
- mRenderData.screenHeight = height; |
- |
mDisplay.surfaceChanged(width, height); |
mOnClientSizeChanged.raise(new SizeChangedEventParameter(width, height)); |
} |