Simulator: improve simulation of transflective screens
This patch simulates the three possible states of a transflective LCD: backlight on (bright screen as usual), backlight off (dimmed screen) and LCD off (black screen). Makes use of already defined 'BACKLIGHT_OFF_ALPHA'. Change-Id: I9b0fc79b8d50c29e024ba1e6d9c2501119a7e0e0
This commit is contained in:
parent
287685932e
commit
666405f346
2 changed files with 11 additions and 0 deletions
|
@ -162,7 +162,15 @@ void sim_backlight(int value)
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
#else /* LCD_DEPTH > 8 */
|
#else /* LCD_DEPTH > 8 */
|
||||||
|
#ifdef HAVE_TRANSFLECTIVE_LCD
|
||||||
|
if (!lcd_active())
|
||||||
|
SDL_SetAlpha(lcd_surface, SDL_SRCALPHA, 0);
|
||||||
|
else
|
||||||
|
SDL_SetAlpha(lcd_surface, SDL_SRCALPHA,
|
||||||
|
MAX(BACKLIGHT_OFF_ALPHA, (value * 255) / 100));
|
||||||
|
#else
|
||||||
SDL_SetAlpha(lcd_surface, SDL_SRCALPHA, (value * 255) / 100);
|
SDL_SetAlpha(lcd_surface, SDL_SRCALPHA, (value * 255) / 100);
|
||||||
|
#endif
|
||||||
#endif /* LCD_DEPTH */
|
#endif /* LCD_DEPTH */
|
||||||
|
|
||||||
sdl_gui_update(lcd_surface, 0, 0, SIM_LCD_WIDTH, SIM_LCD_HEIGHT,
|
sdl_gui_update(lcd_surface, 0, 0, SIM_LCD_WIDTH, SIM_LCD_HEIGHT,
|
||||||
|
|
|
@ -78,6 +78,9 @@ void lcd_remote_set_invert_display(bool invert)
|
||||||
void lcd_sleep(void)
|
void lcd_sleep(void)
|
||||||
{
|
{
|
||||||
lcd_sleeping = true;
|
lcd_sleeping = true;
|
||||||
|
#ifdef HAVE_TRANSFLECTIVE_LCD
|
||||||
|
sim_backlight(0); /* completely blacken the screen */
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void lcd_awake(void)
|
void lcd_awake(void)
|
||||||
|
|
Loading…
Reference in a new issue