diff options
author | Jens Arnold <amiconn@rockbox.org> | 2009-01-24 09:38:54 +0000 |
---|---|---|
committer | Jens Arnold <amiconn@rockbox.org> | 2009-01-24 09:38:54 +0000 |
commit | d8899b345551a83f027a9ed8e1a94cef3bb8644b (patch) | |
tree | 259c68a1556af5f05cd6e119492b6c0584e75290 | |
parent | 6fc558b2dbdfbda7231fb995aa81f7c85930223e (diff) | |
download | rockbox-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
-rw-r--r-- | uisimulator/sdl/lcd-bitmap.c | 30 |
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); |