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 16void 17hwLcd_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