Index: remoting/android/java/src/org/chromium/chromoting/TrackingInputHandler.java |
diff --git a/remoting/android/java/src/org/chromium/chromoting/TrackingInputHandler.java b/remoting/android/java/src/org/chromium/chromoting/TrackingInputHandler.java |
index 2eaa14a267321f452b7f2340d1b48b1530995a48..13dd289631f4a36d2a49b88476a3da16a7d914e4 100644 |
--- a/remoting/android/java/src/org/chromium/chromoting/TrackingInputHandler.java |
+++ b/remoting/android/java/src/org/chromium/chromoting/TrackingInputHandler.java |
@@ -114,7 +114,10 @@ public class TrackingInputHandler implements TouchInputHandler { |
float xAdjust = 0; |
float yAdjust = 0; |
- if (leftDelta > 0 && rightDelta > 0) { |
+ if (rectScreen[2] - rectScreen[0] < mRenderData.screenWidth) { |
+ // Image is narrower than the screen, so center it. |
+ xAdjust = -(rightDelta + leftDelta) / 2; |
+ } else if (leftDelta > 0 && rightDelta > 0) { |
// Panning the image left will show more of it. |
xAdjust = -Math.min(leftDelta, rightDelta); |
} else if (leftDelta < 0 && rightDelta < 0) { |
@@ -123,7 +126,9 @@ public class TrackingInputHandler implements TouchInputHandler { |
} |
// Apply similar logic for yAdjust. |
- if (topDelta > 0 && bottomDelta > 0) { |
+ if (rectScreen[3] - rectScreen[1] < mRenderData.screenHeight) { |
+ yAdjust = -(bottomDelta + topDelta) / 2; |
+ } else if (topDelta > 0 && bottomDelta > 0) { |
yAdjust = -Math.min(topDelta, bottomDelta); |
} else if (topDelta < 0 && bottomDelta < 0) { |
yAdjust = Math.min(-topDelta, -bottomDelta); |