| OLD | NEW |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 package org.chromium.chromoting; | 5 package org.chromium.chromoting; |
| 6 | 6 |
| 7 import android.graphics.Point; | 7 import android.graphics.Point; |
| 8 import android.view.SurfaceHolder; | 8 import android.view.SurfaceHolder; |
| 9 | 9 |
| 10 import org.chromium.chromoting.jni.Client; | 10 import org.chromium.chromoting.jni.Client; |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 43 if (mRenderData.imageHeight == 0 || mRenderData.imageWidth == 0 | 43 if (mRenderData.imageHeight == 0 || mRenderData.imageWidth == 0 |
| 44 || mRenderData.screenHeight == 0 || mRenderData.screenWidth == 0
) { | 44 || mRenderData.screenHeight == 0 || mRenderData.screenWidth == 0
) { |
| 45 return; | 45 return; |
| 46 } | 46 } |
| 47 float[] matrix = new float[9]; | 47 float[] matrix = new float[9]; |
| 48 mRenderData.transform.getValues(matrix); | 48 mRenderData.transform.getValues(matrix); |
| 49 mDisplay.pixelTransformationChanged(matrix); | 49 mDisplay.pixelTransformationChanged(matrix); |
| 50 } | 50 } |
| 51 | 51 |
| 52 @Override | 52 @Override |
| 53 public void cursorMoved() { | 53 public void cursorMoved(boolean followedByViewportChange) { |
| 54 Point cursorPosition = mRenderData.getCursorPosition(); | 54 Point cursorPosition = mRenderData.getCursorPosition(); |
| 55 mDisplay.cursorPixelPositionChanged(cursorPosition.x, cursorPosition.y); | 55 mDisplay.cursorPixelPositionChanged(cursorPosition.x, cursorPosition.y, |
| 56 followedByViewportChange); |
| 56 } | 57 } |
| 57 | 58 |
| 58 @Override | 59 @Override |
| 59 public void cursorVisibilityChanged() { | 60 public void cursorVisibilityChanged() { |
| 60 mDisplay.cursorVisibilityChanged(mRenderData.drawCursor); | 61 mDisplay.cursorVisibilityChanged(mRenderData.drawCursor); |
| 61 } | 62 } |
| 62 | 63 |
| 63 @Override | 64 @Override |
| 64 public void setAnimationEnabled(boolean enabled) { | 65 public void setAnimationEnabled(boolean enabled) { |
| 65 mDisplay.setRenderEventEnabled(enabled); | 66 mDisplay.setRenderEventEnabled(enabled); |
| 67 if (enabled) { |
| 68 mInputHandler.processAnimation(); |
| 69 } |
| 66 } | 70 } |
| 67 | 71 |
| 68 @Override | 72 @Override |
| 69 public void surfaceCreated(SurfaceHolder holder) { | 73 public void surfaceCreated(SurfaceHolder holder) { |
| 70 mOnHostSizeChangedListenerKey = mDisplay | 74 mOnHostSizeChangedListenerKey = mDisplay |
| 71 .onHostSizeChanged().add(new Event.ParameterRunnable<SizeChanged
EventParameter>() { | 75 .onHostSizeChanged().add(new Event.ParameterRunnable<SizeChanged
EventParameter>() { |
| 72 @Override | 76 @Override |
| 73 public void run(SizeChangedEventParameter p) { | 77 public void run(SizeChangedEventParameter p) { |
| 74 mRenderData.imageHeight = p.height; | 78 mRenderData.imageHeight = p.height; |
| 75 mRenderData.imageWidth = p.width; | 79 mRenderData.imageWidth = p.width; |
| 76 | 80 |
| 77 // Note that imageHeight and imageWidth must be set befo
re | 81 // Note that imageHeight and imageWidth must be set befo
re |
| 78 // mOnHostSizeChanged is triggered. mInputHandler expect
s the image size in | 82 // mOnHostSizeChanged is triggered. mInputHandler expect
s the image size in |
| 79 // mRenderData updated before its callback is called. | 83 // mRenderData updated before its callback is called. |
| 80 mOnHostSizeChanged.raise(p); | 84 mOnHostSizeChanged.raise(p); |
| 81 } | 85 } |
| 82 }); | 86 }); |
| 83 | 87 |
| 84 mOnCanvasRenderedListenerKey = mDisplay | 88 mOnCanvasRenderedListenerKey = mDisplay |
| 85 .onCanvasRendered().add(new Event.ParameterRunnable<Void>() { | 89 .onCanvasRendered().add(new Event.ParameterRunnable<Void>() { |
| 86 @Override | 90 @Override |
| 87 public void run(Void p) { | 91 public void run(Void p) { |
| 88 getHandler().post(new Runnable() { | 92 mInputHandler.processAnimation(); |
| 89 @Override | |
| 90 public void run() { | |
| 91 mInputHandler.processAnimation(); | |
| 92 } | |
| 93 }); | |
| 94 } | 93 } |
| 95 }); | 94 }); |
| 96 | 95 |
| 97 mDisplay.surfaceCreated(holder.getSurface()); | 96 mDisplay.surfaceCreated(holder.getSurface()); |
| 98 } | 97 } |
| 99 | 98 |
| 100 @Override | 99 @Override |
| 101 public void surfaceChanged(SurfaceHolder holder, int format, int width, int
height) { | 100 public void surfaceChanged(SurfaceHolder holder, int format, int width, int
height) { |
| 102 mRenderData.screenWidth = width; | 101 mRenderData.screenWidth = width; |
| 103 mRenderData.screenHeight = height; | 102 mRenderData.screenHeight = height; |
| 104 | 103 |
| 105 mDisplay.surfaceChanged(width, height); | 104 mDisplay.surfaceChanged(width, height); |
| 106 mOnClientSizeChanged.raise(new SizeChangedEventParameter(width, height))
; | 105 mOnClientSizeChanged.raise(new SizeChangedEventParameter(width, height))
; |
| 107 } | 106 } |
| 108 | 107 |
| 109 @Override | 108 @Override |
| 110 public void surfaceDestroyed(SurfaceHolder holder) { | 109 public void surfaceDestroyed(SurfaceHolder holder) { |
| 111 // GlDisplay's life time spans to the whole session while GlDesktopView
may be created and | 110 // GlDisplay's life time spans to the whole session while GlDesktopView
may be created and |
| 112 // destroyed for multiple times (say when the phone is rotated). It is i
mportant to remove | 111 // destroyed for multiple times (say when the phone is rotated). It is i
mportant to remove |
| 113 // the listeners when the surface is about to be destroyed. | 112 // the listeners when the surface is about to be destroyed. |
| 114 mDisplay.onHostSizeChanged().remove(mOnHostSizeChangedListenerKey); | 113 mDisplay.onHostSizeChanged().remove(mOnHostSizeChangedListenerKey); |
| 115 mDisplay.onCanvasRendered().remove(mOnCanvasRenderedListenerKey); | 114 mDisplay.onCanvasRendered().remove(mOnCanvasRenderedListenerKey); |
| 116 mDisplay.surfaceDestroyed(); | 115 mDisplay.surfaceDestroyed(); |
| 117 } | 116 } |
| 118 } | 117 } |
| OLD | NEW |