Chromium Code Reviews| 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)); |
| } |