Merge "Tweak overlay display adapter scaling." into jb-mr1-dev

This commit is contained in:
Jeff Brown
2012-08-31 00:41:14 -07:00
committed by Android (Google) Code Review

View File

@ -53,6 +53,7 @@ import java.util.regex.Pattern;
*/
public final class OverlayDisplayAdapter extends DisplayAdapter {
private static final String TAG = "OverlayDisplayAdapter";
private static final boolean DEBUG = false;
private static final int MIN_WIDTH = 100;
private static final int MIN_HEIGHT = 100;
@ -259,6 +260,10 @@ public final class OverlayDisplayAdapter extends DisplayAdapter {
pw.println(" mWindowY=" + mWindowY);
pw.println(" mWindowScale=" + mWindowScale);
pw.println(" mWindowParams=" + mWindowParams);
if (mTextureView != null) {
pw.println(" mTextureView.getScaleX()=" + mTextureView.getScaleX());
pw.println(" mTextureView.getScaleY()=" + mTextureView.getScaleY());
}
pw.println(" mLiveTranslationX=" + mLiveTranslationX);
pw.println(" mLiveTranslationY=" + mLiveTranslationY);
pw.println(" mLiveScale=" + mLiveScale);
@ -328,12 +333,8 @@ public final class OverlayDisplayAdapter extends DisplayAdapter {
private void updateWindowParams() {
float scale = mWindowScale * mLiveScale;
if (mWidth * scale > mDefaultDisplayInfo.logicalWidth) {
scale = mDefaultDisplayInfo.logicalWidth / mWidth;
}
if (mHeight * scale > mDefaultDisplayInfo.logicalHeight) {
scale = mDefaultDisplayInfo.logicalHeight / mHeight;
}
scale = Math.min(scale, (float)mDefaultDisplayInfo.logicalWidth / mWidth);
scale = Math.min(scale, (float)mDefaultDisplayInfo.logicalHeight / mHeight);
scale = Math.max(MIN_SCALE, Math.min(MAX_SCALE, scale));
float offsetScale = (scale / mWindowScale - 1.0f) * 0.5f;
@ -344,6 +345,13 @@ public final class OverlayDisplayAdapter extends DisplayAdapter {
x = Math.max(0, Math.min(x, mDefaultDisplayInfo.logicalWidth - width));
y = Math.max(0, Math.min(y, mDefaultDisplayInfo.logicalHeight - height));
if (DEBUG) {
Slog.d(TAG, "updateWindowParams: scale=" + scale
+ ", offsetScale=" + offsetScale
+ ", x=" + x + ", y=" + y
+ ", width=" + width + ", height=" + height);
}
mTextureView.setScaleX(scale);
mTextureView.setScaleY(scale);