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

Side by Side Diff: remoting/android/java/src/org/chromium/chromoting/TouchInputHandler.java

Issue 2272253004: [Remoting Android] Move mRenderData into TouchInputHandler (Closed)
Patch Set: Created 4 years, 3 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 unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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.content.Context; 7 import android.content.Context;
8 import android.graphics.Matrix; 8 import android.graphics.Matrix;
9 import android.graphics.PointF; 9 import android.graphics.PointF;
10 import android.graphics.Rect; 10 import android.graphics.Rect;
(...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after
171 public DesktopView.InputFeedbackType getLongPressFeedbackType() { 171 public DesktopView.InputFeedbackType getLongPressFeedbackType() {
172 return DesktopView.InputFeedbackType.NONE; 172 return DesktopView.InputFeedbackType.NONE;
173 } 173 }
174 174
175 @Override 175 @Override
176 public boolean isIndirectInputMode() { 176 public boolean isIndirectInputMode() {
177 return false; 177 return false;
178 } 178 }
179 } 179 }
180 180
181 public TouchInputHandler(DesktopView viewer, Context context, RenderData ren derData) { 181 public TouchInputHandler(DesktopView viewer, Context context) {
182 mViewer = viewer; 182 mViewer = viewer;
183 mContext = context; 183 mContext = context;
184 mRenderData = renderData; 184 mRenderData = new RenderData();
185 mDesktopCanvas = new DesktopCanvas(mViewer, mRenderData); 185 mDesktopCanvas = new DesktopCanvas(mViewer, mRenderData);
186 186
187 GestureListener listener = new GestureListener(); 187 GestureListener listener = new GestureListener();
188 mScroller = new GestureDetector(context, listener, null, false); 188 mScroller = new GestureDetector(context, listener, null, false);
189 189
190 // If long-press is enabled, the gesture-detector will not emit any furt her onScroll 190 // If long-press is enabled, the gesture-detector will not emit any furt her onScroll
191 // notifications after the onLongPress notification. Since onScroll is b eing used for 191 // notifications after the onLongPress notification. Since onScroll is b eing used for
192 // moving the cursor, it means that the cursor would become stuck if the finger were held 192 // moving the cursor, it means that the cursor would become stuck if the finger were held
193 // down too long. 193 // down too long.
194 mScroller.setIsLongpressEnabled(false); 194 mScroller.setIsLongpressEnabled(false);
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
286 new SimulatedTouchInputStrategy(mRenderData, injecto r, mContext)); 286 new SimulatedTouchInputStrategy(mRenderData, injecto r, mContext));
287 } 287 }
288 break; 288 break;
289 289
290 default: 290 default:
291 // Unreachable, but required by Google Java style and findbugs. 291 // Unreachable, but required by Google Java style and findbugs.
292 assert false : "Unreached"; 292 assert false : "Unreached";
293 } 293 }
294 294
295 // Ensure the cursor state is updated appropriately. 295 // Ensure the cursor state is updated appropriately.
296 mViewer.cursorVisibilityChanged(); 296 mViewer.cursorVisibilityChanged(mRenderData.drawCursor);
297 } 297 }
298 298
299 private void handleSystemUiVisibilityChanged( 299 private void handleSystemUiVisibilityChanged(
300 SystemUiVisibilityChangedEventParameter parameter) { 300 SystemUiVisibilityChangedEventParameter parameter) {
301 if (parameter.softInputMethodVisible) { 301 if (parameter.softInputMethodVisible) {
302 mDesktopCanvas.setSystemUiOffsetValues(parameter.left, parameter.top , 302 mDesktopCanvas.setSystemUiOffsetValues(parameter.left, parameter.top ,
303 mRenderData.screenWidth - parameter.right, 303 mRenderData.screenWidth - parameter.right,
304 mRenderData.screenHeight - parameter.bottom); 304 mRenderData.screenHeight - parameter.bottom);
305 } else { 305 } else {
306 mDesktopCanvas.setSystemUiOffsetValues(0, 0, 0, 0); 306 mDesktopCanvas.setSystemUiOffsetValues(0, 0, 0, 0);
(...skipping 28 matching lines...) Expand all
335 mTotalMotionY = 0; 335 mTotalMotionY = 0;
336 break; 336 break;
337 337
338 default: 338 default:
339 break; 339 break;
340 } 340 }
341 return handled; 341 return handled;
342 } 342 }
343 343
344 private void handleClientSizeChanged(int width, int height) { 344 private void handleClientSizeChanged(int width, int height) {
345 mRenderData.screenWidth = width;
346 mRenderData.screenHeight = height;
347
345 mPanGestureBounds = new Rect( 348 mPanGestureBounds = new Rect(
346 mEdgeSlopInPx, mEdgeSlopInPx, width - mEdgeSlopInPx, height - mE dgeSlopInPx); 349 mEdgeSlopInPx, mEdgeSlopInPx, width - mEdgeSlopInPx, height - mE dgeSlopInPx);
347 resizeImageToFitScreen(); 350 resizeImageToFitScreen();
348 } 351 }
349 352
350 private void handleHostSizeChanged(int width, int height) { 353 private void handleHostSizeChanged(int width, int height) {
354 mRenderData.imageWidth = width;
355 mRenderData.imageHeight = height;
356
351 resizeImageToFitScreen(); 357 resizeImageToFitScreen();
352 } 358 }
353 359
354 private void resizeImageToFitScreen() { 360 private void resizeImageToFitScreen() {
355 mDesktopCanvas.resizeImageToFitScreen(); 361 mDesktopCanvas.resizeImageToFitScreen();
356 362
357 float screenCenterX = (float) mRenderData.screenWidth / 2; 363 float screenCenterX = (float) mRenderData.screenWidth / 2;
358 float screenCenterY = (float) mRenderData.screenHeight / 2; 364 float screenCenterY = (float) mRenderData.screenHeight / 2;
359 365
360 float[] imagePoint = mapScreenPointToImagePoint(screenCenterX, screenCen terY); 366 float[] imagePoint = mapScreenPointToImagePoint(screenCenterX, screenCen terY);
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
402 moveCursor(imagePoint[0], imagePoint[1]); 408 moveCursor(imagePoint[0], imagePoint[1]);
403 } 409 }
404 410
405 /** Moves the cursor to the specified position on the remote host. */ 411 /** Moves the cursor to the specified position on the remote host. */
406 private void moveCursor(float newX, float newY) { 412 private void moveCursor(float newX, float newY) {
407 boolean cursorMoved = mRenderData.setCursorPosition(newX, newY); 413 boolean cursorMoved = mRenderData.setCursorPosition(newX, newY);
408 if (cursorMoved) { 414 if (cursorMoved) {
409 mInputStrategy.injectCursorMoveEvent((int) newX, (int) newY); 415 mInputStrategy.injectCursorMoveEvent((int) newX, (int) newY);
410 } 416 }
411 417
412 mViewer.cursorMoved(); 418 mViewer.cursorMoved(mRenderData.getCursorPosition());
413 } 419 }
414 420
415 /** Processes a (multi-finger) swipe gesture. */ 421 /** Processes a (multi-finger) swipe gesture. */
416 private boolean onSwipe() { 422 private boolean onSwipe() {
417 if (mTotalMotionY > mSwipeThreshold) { 423 if (mTotalMotionY > mSwipeThreshold) {
418 // Swipe down occurred. 424 // Swipe down occurred.
419 mViewer.showActionBar(); 425 mViewer.showActionBar();
420 } else if (mTotalMotionY < -mSwipeThreshold) { 426 } else if (mTotalMotionY < -mSwipeThreshold) {
421 // Swipe up occurred. 427 // Swipe up occurred.
422 mViewer.showKeyboard(); 428 mViewer.showKeyboard();
(...skipping 213 matching lines...) Expand 10 before | Expand all | Expand 10 after
636 float[] mappedPoints = mapScreenPointToImagePoint(screenX, screenY); 642 float[] mappedPoints = mapScreenPointToImagePoint(screenX, screenY);
637 643
638 float imageWidth = (float) mRenderData.imageWidth + EPSILON; 644 float imageWidth = (float) mRenderData.imageWidth + EPSILON;
639 float imageHeight = (float) mRenderData.imageHeight + EPSILON; 645 float imageHeight = (float) mRenderData.imageHeight + EPSILON;
640 646
641 return mappedPoints[0] < -EPSILON || mappedPoints[0] > imageWidth 647 return mappedPoints[0] < -EPSILON || mappedPoints[0] > imageWidth
642 || mappedPoints[1] < -EPSILON || mappedPoints[1] > imageHeig ht; 648 || mappedPoints[1] < -EPSILON || mappedPoints[1] > imageHeig ht;
643 } 649 }
644 } 650 }
645 } 651 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698