diff options
author | Jens Arnold <amiconn@rockbox.org> | 2009-02-09 23:34:44 +0000 |
---|---|---|
committer | Jens Arnold <amiconn@rockbox.org> | 2009-02-09 23:34:44 +0000 |
commit | 309a3c4590ea0ed3cf028cfc7f1372ca019fe638 (patch) | |
tree | 1f0828d5876f280686ba83bcd2589d9b9f808cda /uisimulator/sdl | |
parent | a12c2d59ade3f8d4c1edb56ad4812836766df95b (diff) | |
download | rockbox-309a3c4590ea0ed3cf028cfc7f1372ca019fe638.tar.gz rockbox-309a3c4590ea0ed3cf028cfc7f1372ca019fe638.zip |
More compact screendump routines for core and greylib. The core routine might be a little slower for vertically packed mono and greyscale displays, the greylib one should be faster in all cases. * Reduce stack usage of greyscale screendump on the Clip* Rename a macro in the bitmap LCD simulation.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19959 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'uisimulator/sdl')
-rw-r--r-- | uisimulator/sdl/lcd-bitmap.c | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/uisimulator/sdl/lcd-bitmap.c b/uisimulator/sdl/lcd-bitmap.c index 1d720b80a1..b4e6dcd4c0 100644 --- a/uisimulator/sdl/lcd-bitmap.c +++ b/uisimulator/sdl/lcd-bitmap.c | |||
@@ -59,9 +59,9 @@ SDL_Color lcd_color2_bright = {RED_CMP(LCD_BRIGHTCOLOR_2), | |||
59 | #endif | 59 | #endif |
60 | 60 | ||
61 | #ifdef HAVE_LCD_SPLIT | 61 | #ifdef HAVE_LCD_SPLIT |
62 | #define GRADIENT_MAX 127 | 62 | #define NUM_SHADES 128 |
63 | #else | 63 | #else |
64 | #define GRADIENT_MAX 128 | 64 | #define NUM_SHADES 129 |
65 | #endif | 65 | #endif |
66 | #endif /* LCD_DEPTH <= 8 */ | 66 | #endif /* LCD_DEPTH <= 8 */ |
67 | 67 | ||
@@ -78,9 +78,9 @@ static unsigned long get_lcd_pixel(int x, int y) | |||
78 | { | 78 | { |
79 | #if LCD_DEPTH == 1 | 79 | #if LCD_DEPTH == 1 |
80 | #ifdef HAVE_NEGATIVE_LCD | 80 | #ifdef HAVE_NEGATIVE_LCD |
81 | return (lcd_framebuffer[y/8][x] & (1 << (y & 7))) ? GRADIENT_MAX : 0; | 81 | return (lcd_framebuffer[y/8][x] & (1 << (y & 7))) ? (NUM_SHADES-1) : 0; |
82 | #else | 82 | #else |
83 | return (lcd_framebuffer[y/8][x] & (1 << (y & 7))) ? 0 : GRADIENT_MAX; | 83 | return (lcd_framebuffer[y/8][x] & (1 << (y & 7))) ? 0 : (NUM_SHADES-1); |
84 | #endif | 84 | #endif |
85 | #elif LCD_DEPTH == 2 | 85 | #elif LCD_DEPTH == 2 |
86 | #if LCD_PIXELFORMAT == HORIZONTAL_PACKING | 86 | #if LCD_PIXELFORMAT == HORIZONTAL_PACKING |
@@ -122,17 +122,17 @@ void sim_backlight(int value) | |||
122 | #if LCD_DEPTH <= 8 | 122 | #if LCD_DEPTH <= 8 |
123 | if (value > 0) { | 123 | if (value > 0) { |
124 | sdl_set_gradient(lcd_surface, &lcd_bl_color_dark, | 124 | sdl_set_gradient(lcd_surface, &lcd_bl_color_dark, |
125 | &lcd_bl_color_bright, 0, GRADIENT_MAX+1); | 125 | &lcd_bl_color_bright, 0, NUM_SHADES); |
126 | #ifdef HAVE_LCD_SPLIT | 126 | #ifdef HAVE_LCD_SPLIT |
127 | sdl_set_gradient(lcd_surface, &lcd_bl_color2_dark, | 127 | sdl_set_gradient(lcd_surface, &lcd_bl_color2_dark, |
128 | &lcd_bl_color2_bright, GRADIENT_MAX+1, GRADIENT_MAX+1); | 128 | &lcd_bl_color2_bright, NUM_SHADES, NUM_SHADES); |
129 | #endif | 129 | #endif |
130 | } else { | 130 | } else { |
131 | sdl_set_gradient(lcd_surface, &lcd_color_dark, | 131 | sdl_set_gradient(lcd_surface, &lcd_color_dark, |
132 | &lcd_color_bright, 0, GRADIENT_MAX+1); | 132 | &lcd_color_bright, 0, NUM_SHADES); |
133 | #ifdef HAVE_LCD_SPLIT | 133 | #ifdef HAVE_LCD_SPLIT |
134 | sdl_set_gradient(lcd_surface, &lcd_color2_dark, | 134 | sdl_set_gradient(lcd_surface, &lcd_color2_dark, |
135 | &lcd_color2_bright, GRADIENT_MAX+1, GRADIENT_MAX+1); | 135 | &lcd_color2_bright, NUM_SHADES, NUM_SHADES); |
136 | #endif | 136 | #endif |
137 | } | 137 | } |
138 | sdl_gui_update(lcd_surface, 0, 0, SIM_LCD_WIDTH, SIM_LCD_HEIGHT, | 138 | sdl_gui_update(lcd_surface, 0, 0, SIM_LCD_WIDTH, SIM_LCD_HEIGHT, |
@@ -162,17 +162,17 @@ void sim_lcd_init(void) | |||
162 | #if LCD_DEPTH <= 8 | 162 | #if LCD_DEPTH <= 8 |
163 | #ifdef HAVE_BACKLIGHT | 163 | #ifdef HAVE_BACKLIGHT |
164 | sdl_set_gradient(lcd_surface, &lcd_bl_color_dark, | 164 | sdl_set_gradient(lcd_surface, &lcd_bl_color_dark, |
165 | &lcd_bl_color_bright, 0, GRADIENT_MAX+1); | 165 | &lcd_bl_color_bright, 0, NUM_SHADES); |
166 | #ifdef HAVE_LCD_SPLIT | 166 | #ifdef HAVE_LCD_SPLIT |
167 | sdl_set_gradient(lcd_surface, &lcd_bl_color2_dark, | 167 | sdl_set_gradient(lcd_surface, &lcd_bl_color2_dark, |
168 | &lcd_bl_color2_bright, GRADIENT_MAX+1, GRADIENT_MAX+1); | 168 | &lcd_bl_color2_bright, NUM_SHADES, NUM_SHADES); |
169 | #endif | 169 | #endif |
170 | #else /* !HAVE_BACKLIGHT */ | 170 | #else /* !HAVE_BACKLIGHT */ |
171 | sdl_set_gradient(lcd_surface, &lcd_color_dark, | 171 | sdl_set_gradient(lcd_surface, &lcd_color_dark, |
172 | &lcd_color_bright, 0, GRADIENT_MAX+1); | 172 | &lcd_color_bright, 0, NUM_SHADES); |
173 | #ifdef HAVE_LCD_SPLIT | 173 | #ifdef HAVE_LCD_SPLIT |
174 | sdl_set_gradient(lcd_surface, &lcd_color2_dark, | 174 | sdl_set_gradient(lcd_surface, &lcd_color2_dark, |
175 | &lcd_color2_bright, GRADIENT_MAX+1, GRADIENT_MAX+1); | 175 | &lcd_color2_bright, NUM_SHADES, NUM_SHADES); |
176 | #endif | 176 | #endif |
177 | #endif /* !HAVE_BACKLIGHT */ | 177 | #endif /* !HAVE_BACKLIGHT */ |
178 | #endif /* LCD_DEPTH < 8 */ | 178 | #endif /* LCD_DEPTH < 8 */ |