surfaceflinger: use display dpi if not forced with ro.sf.lcd_nensity

Change-Id: I52c4b872e0f2c088c2a6ada7a5bb15db071f0002
Signed-off-by: Dima Zavin <dima@android.com>
This commit is contained in:
Dima Zavin 2012-03-14 17:15:10 -07:00
parent 9eeebe3980
commit 1b15e1e26b

View File

@ -251,15 +251,21 @@ void DisplayHardware::init(uint32_t dpy)
*/ */
if (property_get("qemu.sf.lcd_density", property, NULL) <= 0) { if (property_get("qemu.sf.lcd_density", property, NULL) <= 0) {
if (property_get("ro.sf.lcd_density", property, NULL) <= 0) { if (property_get("ro.sf.lcd_density", property, NULL) <= 0) {
ALOGW("ro.sf.lcd_density not defined, using 160 dpi by default."); if (mDpiX && mDpiY) {
strcpy(property, "160"); ALOGI("Using density info from display: xdpi=%d ydpi=%d\n",
mDpiX, mDpiY);
} else {
ALOGW("No display dpi and ro.sf.lcd_density not defined, using 160 dpi by default.");
mDpiX = mDpiY = 160;
}
} }
} else { } else {
/* for the emulator case, reset the dpi values too */ /* for the emulator case, reset the dpi values too */
mDpiX = mDpiY = atoi(property); mDpiX = mDpiY = atoi(property);
} }
mDensity = atoi(property) * (1.0f/160.0f);
/* use the xdpi as our density baseline */
mDensity = mDpiX * (1.0f / 160.0f);
/* /*
* Create our OpenGL ES context * Create our OpenGL ES context