summaryrefslogtreecommitdiff
path: root/core/java/android/util/DisplayMetrics.java
diff options
context:
space:
mode:
authorMitsuru Oshima <oshima@google.com>2009-05-11 15:54:27 -0700
committerMitsuru Oshima <oshima@google.com>2009-05-11 15:58:32 -0700
commit58feea74b42bbaaa0552d76af23873bdd0b5dca2 (patch)
tree67d11bca0086cf1a842fba71638be1c2856be85f /core/java/android/util/DisplayMetrics.java
parent7f2ae493c58e221b2961ccbd92de24565665633c (diff)
* update all metrics data when updating density.
* Keyboard should use DisplayMetrics from Resource rather than getting it from WindowManager as the display metrics can differ under compatibility mode.
Diffstat (limited to 'core/java/android/util/DisplayMetrics.java')
-rw-r--r--core/java/android/util/DisplayMetrics.java20
1 files changed, 20 insertions, 0 deletions
diff --git a/core/java/android/util/DisplayMetrics.java b/core/java/android/util/DisplayMetrics.java
index 095f4f476417..e4dd020e1a81 100644
--- a/core/java/android/util/DisplayMetrics.java
+++ b/core/java/android/util/DisplayMetrics.java
@@ -99,4 +99,24 @@ public class DisplayMetrics {
xdpi = DEVICE_DENSITY;
ydpi = DEVICE_DENSITY;
}
+
+ /**
+ * Set the display metrics' density and update parameters depend on it.
+ * @hide
+ */
+ public void updateDensity(float newDensity) {
+ float ratio = newDensity / density;
+ density = newDensity;
+ scaledDensity = density;
+ widthPixels *= ratio;
+ heightPixels *= ratio;
+ xdpi *= ratio;
+ ydpi *= ratio;
+ }
+
+ public String toString() {
+ return "DisplayMetrics{density=" + density + ", width=" + widthPixels +
+ ", height=" + heightPixels + ", scaledDensity=" + scaledDensity +
+ ", xdpi=" + xdpi + ", ydpi=" + ydpi + "}";
+ }
}