summaryrefslogtreecommitdiffstats
path: root/core/java/android/view/WindowManager.java
diff options
context:
space:
mode:
authorMathias Agopian <mathias@google.com>2009-05-14 22:44:23 -0700
committerMathias Agopian <mathias@google.com>2009-05-14 22:44:23 -0700
commit11abc8a36d639775b05a0471c9ea45d83fa19e56 (patch)
treeedf234f013ef3c88507f81dea65b8187cc672564 /core/java/android/view/WindowManager.java
parent6ec72e3fa9cdf9e896f3042fb1b1b4f3f6cea541 (diff)
parente52a5a5fca18348728dfc5609b42b88e9cc7ef98 (diff)
downloadframeworks_base-11abc8a36d639775b05a0471c9ea45d83fa19e56.zip
frameworks_base-11abc8a36d639775b05a0471c9ea45d83fa19e56.tar.gz
frameworks_base-11abc8a36d639775b05a0471c9ea45d83fa19e56.tar.bz2
Merge commit 'goog/master' into merge_master
Conflicts: opengl/libagl/Android.mk opengl/libs/Android.mk opengl/libs/egl_impl.h
Diffstat (limited to 'core/java/android/view/WindowManager.java')
-rw-r--r--core/java/android/view/WindowManager.java26
1 files changed, 25 insertions, 1 deletions
diff --git a/core/java/android/view/WindowManager.java b/core/java/android/view/WindowManager.java
index f6a171d..c69c281 100644
--- a/core/java/android/view/WindowManager.java
+++ b/core/java/android/view/WindowManager.java
@@ -18,6 +18,7 @@ package android.view;
import android.content.pm.ActivityInfo;
import android.graphics.PixelFormat;
+import android.graphics.Rect;
import android.os.IBinder;
import android.os.Parcel;
import android.os.Parcelable;
@@ -954,19 +955,42 @@ public interface WindowManager extends ViewManager {
return sb.toString();
}
- void scale(float scale) {
+ /**
+ * Scale the layout params' coordinates and size.
+ * Returns the original info as a backup so that the caller can
+ * restore the layout params;
+ */
+ void scale(float scale, int[] backup) {
if (scale != 1.0f) {
+ backup[0] = x;
+ backup[1] = y;
x *= scale;
y *= scale;
if (width > 0) {
+ backup[2] = width;
width *= scale;
}
if (height > 0) {
+ backup[3] = height;
height *= scale;
}
}
}
+ /**
+ * Restore the layout params' coordinates and size.
+ */
+ void restore(int[] backup) {
+ x = backup[0];
+ y = backup[1];
+ if (width > 0) {
+ width = backup[2];
+ }
+ if (height > 0) {
+ height = backup[3];
+ }
+ }
+
private CharSequence mTitle = "";
}
}