1 /* Copyright (C) 2009 The Android Open Source Project 2 ** 3 ** This software is licensed under the terms of the GNU General Public 4 ** License version 2, as published by the Free Software Foundation, and 5 ** may be copied, distributed, and modified under those terms. 6 ** 7 ** This program is distributed in the hope that it will be useful, 8 ** but WITHOUT ANY WARRANTY; without even the implied warranty of 9 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 10 ** GNU General Public License for more details. 11 */ 12 #include "android/hw-lcd.h" 13 #include "android/boot-properties.h" 14 #include <stdio.h> 15 16 void 17 hwLcd_setBootProperty(int density) 18 { 19 char temp[8]; 20 21 /* Map density to one of our five bucket values. 22 The TV density is a bit particular (and not actually a bucket 23 value) so we do only exact match on it. 24 */ 25 if (density != LCD_DENSITY_TVDPI) { 26 if (density < (LCD_DENSITY_LDPI + LCD_DENSITY_MDPI)/2) 27 density = LCD_DENSITY_LDPI; 28 else if (density < (LCD_DENSITY_MDPI + LCD_DENSITY_HDPI)/2) 29 density = LCD_DENSITY_MDPI; 30 else if (density < (LCD_DENSITY_HDPI + LCD_DENSITY_XHDPI)/2) 31 density = LCD_DENSITY_HDPI; 32 else 33 density = LCD_DENSITY_XHDPI; 34 } 35 36 snprintf(temp, sizeof temp, "%d", density); 37 boot_property_add("qemu.sf.lcd_density", temp); 38 } 39 40