summaryrefslogtreecommitdiffstats
path: root/uisimulator
diff options
context:
space:
mode:
authorThomas Martitz <kugel@rockbox.org>2010-01-19 22:07:28 +0000
committerThomas Martitz <kugel@rockbox.org>2010-01-19 22:07:28 +0000
commit6915340f2d211723a79ddbbb7bde55ee00232ae5 (patch)
tree1df14359c00b9e1a1dc9eb7173b8d67f5e8ea278 /uisimulator
parent8d29cadaa1b92561862f1514c2cca3962e486d80 (diff)
downloadrockbox-6915340f2d211723a79ddbbb7bde55ee00232ae5.tar.gz
rockbox-6915340f2d211723a79ddbbb7bde55ee00232ae5.tar.bz2
rockbox-6915340f2d211723a79ddbbb7bde55ee00232ae5.zip
Fix FS#10867 and a few more potential issues by imitate target scrollwheel behavior more (although that behavior is suboptimal imo). Also, default for maximum backlight brightness in the sim and move stuff into sim.h.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24289 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'uisimulator')
-rw-r--r--uisimulator/common/backlight-sim.c17
-rw-r--r--uisimulator/sdl/button.c7
2 files changed, 18 insertions, 6 deletions
diff --git a/uisimulator/common/backlight-sim.c b/uisimulator/common/backlight-sim.c
index 74a715a035..aa8fe8e844 100644
--- a/uisimulator/common/backlight-sim.c
+++ b/uisimulator/common/backlight-sim.c
@@ -30,7 +30,11 @@ 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;
+static inline int normalize_backlight(int val)
+{
+ /* normalize to xx% brightness for sdl */
+ return ((val - MIN_BRIGHTNESS_SETTING + 1) * 100)/MAX_BRIGHTNESS_SETTING;
+}
bool _backlight_init(void)
{
@@ -39,12 +43,16 @@ bool _backlight_init(void)
void _backlight_on(void)
{
- sim_backlight(old_val);
#if defined(HAVE_LCD_ENABLE)
lcd_enable(true);
#elif defined(HAVE_LCD_SLEEP)
lcd_awake();
#endif
+#if (CONFIG_BACKLIGHT_FADING != BACKLIGHT_FADING_SW_SETTING)
+ /* if we set the brightness to the settings value, then fading up
+ * is glitchy */
+ sim_backlight(normalize_backlight(backlight_brightness));
+#endif
}
void _backlight_off(void)
@@ -58,10 +66,7 @@ void _backlight_off(void)
#ifdef HAVE_BACKLIGHT_BRIGHTNESS
void _backlight_set_brightness(int val)
{
- int normalized = ((val - MIN_BRIGHTNESS_SETTING + 1) * 100) / MAX_BRIGHTNESS_SETTING;
- sim_backlight(normalized);
-
- old_val = normalized;
+ sim_backlight(normalize_backlight(val));
}
#endif /* HAVE_BACKLIGHT_BRIGHTNESS */
#ifdef HAVE_BUTTON_LIGHT
diff --git a/uisimulator/sdl/button.c b/uisimulator/sdl/button.c
index fdabfcf5a4..0f9770dcac 100644
--- a/uisimulator/sdl/button.c
+++ b/uisimulator/sdl/button.c
@@ -29,6 +29,7 @@
#include "misc.h"
#include "sim_tasks.h"
#include "button-sdl.h"
+#include "backlight.h"
#include "debug.h"
@@ -1275,6 +1276,12 @@ void button_event(int key, bool pressed)
* store the scroll forward/back buttons in their button data for
* the button_read call.
*/
+#ifdef HAVE_BACKLIGHT
+ backlight_on();
+#endif
+#ifdef HAVE_BUTTON_LIGHT
+ buttonlight_on();
+#endif
queue_post(&button_queue, new_btn, 1<<24);
new_btn &= ~(BUTTON_SCROLL_FWD | BUTTON_SCROLL_BACK);
}