summaryrefslogtreecommitdiff
path: root/uisimulator/sdl/lcd-bitmap.c
diff options
context:
space:
mode:
authorJens Arnold <amiconn@rockbox.org>2009-01-24 09:38:54 +0000
committerJens Arnold <amiconn@rockbox.org>2009-01-24 09:38:54 +0000
commitd8899b345551a83f027a9ed8e1a94cef3bb8644b (patch)
tree259c68a1556af5f05cd6e119492b6c0584e75290 /uisimulator/sdl/lcd-bitmap.c
parent6fc558b2dbdfbda7231fb995aa81f7c85930223e (diff)
downloadrockbox-d8899b345551a83f027a9ed8e1a94cef3bb8644b.tar.gz
rockbox-d8899b345551a83f027a9ed8e1a94cef3bb8644b.zip
Simulator: Fix an almost 3 years old colour init bug both on startup and on greylib init, that caused the weird colours in the m:robe 100 sim. Add a quick-fix for m:robe 100 greylib inversion in the sim.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19838 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'uisimulator/sdl/lcd-bitmap.c')
-rw-r--r--uisimulator/sdl/lcd-bitmap.c30
1 files changed, 23 insertions, 7 deletions
diff --git a/uisimulator/sdl/lcd-bitmap.c b/uisimulator/sdl/lcd-bitmap.c
index b9f5732dc7..bc2a4c46f4 100644
--- a/uisimulator/sdl/lcd-bitmap.c
+++ b/uisimulator/sdl/lcd-bitmap.c
@@ -119,6 +119,10 @@ void sim_backlight(int value)
119 &lcd_backlight_color_zero, &lcd_backlight_color_split, 119 &lcd_backlight_color_zero, &lcd_backlight_color_split,
120 &lcd_backlight_color_zero, 120 &lcd_backlight_color_zero,
121 (1<<LCD_DEPTH), lcd_ex_shades); 121 (1<<LCD_DEPTH), lcd_ex_shades);
122#elif defined MROBE_100
123 /* quick fix, a proper fix needs to compare brightnesses */
124 sdl_set_gradient(lcd_surface, &lcd_backlight_color_zero,
125 &lcd_backlight_color_max, (1<<LCD_DEPTH), lcd_ex_shades);
122#else 126#else
123 sdl_set_gradient(lcd_surface, &lcd_backlight_color_max, 127 sdl_set_gradient(lcd_surface, &lcd_backlight_color_max,
124 &lcd_backlight_color_zero, (1<<LCD_DEPTH), lcd_ex_shades); 128 &lcd_backlight_color_zero, (1<<LCD_DEPTH), lcd_ex_shades);
@@ -128,6 +132,10 @@ void sim_backlight(int value)
128 sdl_set_gradient(lcd_real_surface, &lcd_color_max, &lcd_color_zero, 132 sdl_set_gradient(lcd_real_surface, &lcd_color_max, &lcd_color_zero,
129 &lcd_color_split, &lcd_color_zero, (1<<LCD_DEPTH), 133 &lcd_color_split, &lcd_color_zero, (1<<LCD_DEPTH),
130 lcd_ex_shades); 134 lcd_ex_shades);
135#elif defined MROBE_100
136 /* quick fix, a proper fix needs to compare brightnesses */
137 sdl_set_gradient(lcd_surface, &lcd_color_zero, &lcd_color_max,
138 (1<<LCD_DEPTH), lcd_ex_shades);
131#else 139#else
132 sdl_set_gradient(lcd_surface, &lcd_color_max, &lcd_color_zero, 140 sdl_set_gradient(lcd_surface, &lcd_color_max, &lcd_color_zero,
133 (1<<LCD_DEPTH), lcd_ex_shades); 141 (1<<LCD_DEPTH), lcd_ex_shades);
@@ -164,11 +172,11 @@ void sim_lcd_init(void)
164#ifdef HAVE_BACKLIGHT 172#ifdef HAVE_BACKLIGHT
165#ifdef UI_LCD_SPLIT 173#ifdef UI_LCD_SPLIT
166 sdl_set_gradient(lcd_real_surface, &lcd_backlight_color_zero, 174 sdl_set_gradient(lcd_real_surface, &lcd_backlight_color_zero,
167 &lcd_color_max, &lcd_backlight_color_zero, 175 &lcd_backlight_color_max, &lcd_backlight_color_zero,
168 &lcd_color_split, 0, (1<<LCD_DEPTH)); 176 &lcd_backlight_color_split, 0, (1<<LCD_DEPTH));
169#else 177#else
170 sdl_set_gradient(lcd_surface, &lcd_backlight_color_zero, &lcd_color_max, 0, 178 sdl_set_gradient(lcd_surface, &lcd_backlight_color_zero,
171 (1<<LCD_DEPTH)); 179 &lcd_backlight_color_max, 0, (1<<LCD_DEPTH));
172#endif 180#endif
173#else 181#else
174 sdl_set_gradient(lcd_surface, &lcd_color_zero, &lcd_color_max, 0, 182 sdl_set_gradient(lcd_surface, &lcd_color_zero, &lcd_color_max, 0,
@@ -186,11 +194,15 @@ void sim_lcd_ex_init(int shades, unsigned long (*getpixel)(int, int))
186#ifdef HAVE_BACKLIGHT 194#ifdef HAVE_BACKLIGHT
187 if (lcd_backlight_val > 0) { 195 if (lcd_backlight_val > 0) {
188#ifdef UI_LCD_SPLIT 196#ifdef UI_LCD_SPLIT
189 sdl_set_gradient(lcd_real_surface, &lcd_color_max, 197 sdl_set_gradient(lcd_real_surface, &lcd_backlight_color_max,
190 &lcd_backlight_color_zero, &lcd_color_split, 198 &lcd_backlight_color_zero, &lcd_backlight_color_split,
191 &lcd_backlight_color_zero, (1<<LCD_DEPTH), shades); 199 &lcd_backlight_color_zero, (1<<LCD_DEPTH), shades);
200#elif defined MROBE_100
201 /* quick fix, a proper fix needs to compare brightnesses */
202 sdl_set_gradient(lcd_surface, &lcd_backlight_color_zero,
203 &lcd_backlight_color_max, (1<<LCD_DEPTH), shades);
192#else 204#else
193 sdl_set_gradient(lcd_surface, &lcd_color_max, 205 sdl_set_gradient(lcd_surface, &lcd_backlight_color_max,
194 &lcd_backlight_color_zero, (1<<LCD_DEPTH), shades); 206 &lcd_backlight_color_zero, (1<<LCD_DEPTH), shades);
195#endif 207#endif
196 } 208 }
@@ -200,6 +212,10 @@ void sim_lcd_ex_init(int shades, unsigned long (*getpixel)(int, int))
200#ifdef UI_LCD_SPLIT 212#ifdef UI_LCD_SPLIT
201 sdl_set_gradient(lcd_real_surface, &lcd_color_max, &lcd_color_zero, 213 sdl_set_gradient(lcd_real_surface, &lcd_color_max, &lcd_color_zero,
202 &lcd_color_split, &lcd_color_zero, (1<<LCD_DEPTH), shades); 214 &lcd_color_split, &lcd_color_zero, (1<<LCD_DEPTH), shades);
215#elif defined MROBE_100
216 /* quick fix, a proper fix needs to compare brightnesses */
217 sdl_set_gradient(lcd_surface, &lcd_color_zero, &lcd_color_max,
218 (1<<LCD_DEPTH), shades);
203#else 219#else
204 sdl_set_gradient(lcd_surface, &lcd_color_max, &lcd_color_zero, 220 sdl_set_gradient(lcd_surface, &lcd_color_max, &lcd_color_zero,
205 (1<<LCD_DEPTH), shades); 221 (1<<LCD_DEPTH), shades);