• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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
hwLcd_setBootProperty(int density)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