From 5d96c3ba711f0a1b3fd71cad0764b56f0260df8d Mon Sep 17 00:00:00 2001 From: Maurus Cuelenaere Date: Thu, 17 Dec 2009 13:44:09 +0000 Subject: Enable backlight brightness in simulator git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24042 a1c6a512-1295-4272-9138-f99709370657 --- uisimulator/common/backlight-sim.c | 9 +++++++-- uisimulator/sdl/lcd-bitmap.c | 6 +----- 2 files changed, 8 insertions(+), 7 deletions(-) (limited to 'uisimulator') diff --git a/uisimulator/common/backlight-sim.c b/uisimulator/common/backlight-sim.c index e8bce8ff7a..74a715a035 100644 --- a/uisimulator/common/backlight-sim.c +++ b/uisimulator/common/backlight-sim.c @@ -30,6 +30,8 @@ extern void lcd_awake(void); /* in uisimulator/sdl/lcd-bitmap.c and lcd-charcell.c */ extern void sim_backlight(int value); +static int old_val = 100; + bool _backlight_init(void) { return true; @@ -37,7 +39,7 @@ bool _backlight_init(void) void _backlight_on(void) { - sim_backlight(100); + sim_backlight(old_val); #if defined(HAVE_LCD_ENABLE) lcd_enable(true); #elif defined(HAVE_LCD_SLEEP) @@ -56,7 +58,10 @@ void _backlight_off(void) #ifdef HAVE_BACKLIGHT_BRIGHTNESS void _backlight_set_brightness(int val) { - (void)val; + int normalized = ((val - MIN_BRIGHTNESS_SETTING + 1) * 100) / MAX_BRIGHTNESS_SETTING; + sim_backlight(normalized); + + old_val = normalized; } #endif /* HAVE_BACKLIGHT_BRIGHTNESS */ #ifdef HAVE_BUTTON_LIGHT diff --git a/uisimulator/sdl/lcd-bitmap.c b/uisimulator/sdl/lcd-bitmap.c index 3c73b6fc5d..0bd90196e4 100644 --- a/uisimulator/sdl/lcd-bitmap.c +++ b/uisimulator/sdl/lcd-bitmap.c @@ -149,11 +149,7 @@ void sim_backlight(int value) #endif } #else /* LCD_DEPTH > 8 */ - if (value > 0) { - SDL_SetAlpha(lcd_surface, 0, SDL_ALPHA_OPAQUE); /* full on */ - } else { - SDL_SetAlpha(lcd_surface, SDL_SRCALPHA, BACKLIGHT_OFF_ALPHA); - } + SDL_SetAlpha(lcd_surface, SDL_SRCALPHA, (value * 255) / 100); #endif /* LCD_DEPTH */ sdl_gui_update(lcd_surface, 0, 0, SIM_LCD_WIDTH, SIM_LCD_HEIGHT, -- cgit v1.2.3