Fractals: Use defines for colors
This makes the code a bit more readable, and will allow me in the near future to introduce support of more colors git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24236 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
da41706f65
commit
569bc33101
1 changed files with 17 additions and 11 deletions
|
@ -30,19 +30,25 @@ static unsigned char imgbuffer[LCD_HEIGHT];
|
|||
static fb_data imgbuffer[LCD_HEIGHT];
|
||||
#endif
|
||||
|
||||
/* 8 entries cyclical, last entry is black (convergence) */
|
||||
#define NUM_COLORS 8 /* Must be a power of 2 */
|
||||
/* NUM_COLORS entries cyclical, last entry is black (convergence) */
|
||||
#ifdef HAVE_LCD_COLOR
|
||||
static const fb_data color[9] = {
|
||||
LCD_RGBPACK(255, 0, 159), LCD_RGBPACK(159, 0, 255), LCD_RGBPACK(0, 0, 255),
|
||||
LCD_RGBPACK(0, 159, 255), LCD_RGBPACK(0, 255, 128), LCD_RGBPACK(128, 255, 0),
|
||||
LCD_RGBPACK(255, 191, 0), LCD_RGBPACK(255, 0, 0), LCD_RGBPACK(0, 0, 0)
|
||||
static const fb_data color[NUM_COLORS] = {
|
||||
LCD_RGBPACK(255, 0, 159), LCD_RGBPACK(159, 0, 255),
|
||||
LCD_RGBPACK(0, 0, 255), LCD_RGBPACK(0, 159, 255),
|
||||
LCD_RGBPACK(0, 255, 128), LCD_RGBPACK(128, 255, 0),
|
||||
LCD_RGBPACK(255, 191, 0), LCD_RGBPACK(255, 0, 0)
|
||||
};
|
||||
#define CONVERGENCE_COLOR LCD_RGBPACK(0, 0, 0)
|
||||
#else /* greyscale */
|
||||
static const unsigned char color[9] = {
|
||||
255, 223, 191, 159, 128, 96, 64, 32, 0
|
||||
static const unsigned char color[NUM_COLORS] = {
|
||||
255, 223, 191, 159, 128, 96, 64, 32
|
||||
};
|
||||
#define CONVERGENCE_COLOR 0
|
||||
#endif
|
||||
|
||||
#define COLOR(iter) color[(iter) % (NUM_COLORS - 1)]
|
||||
|
||||
#if CONFIG_LCD == LCD_SSD1815
|
||||
/* Recorder, Ondio: pixel_height == 1.25 * pixel_width */
|
||||
#define MB_HEIGHT (LCD_HEIGHT*5/4)
|
||||
|
@ -196,9 +202,9 @@ static int mandelbrot_calc_low_prec(struct fractal_rect *rect,
|
|||
}
|
||||
|
||||
if (n_iter > ctx.max_iter)
|
||||
imgbuffer[p_y] = color[8];
|
||||
imgbuffer[p_y] = CONVERGENCE_COLOR;
|
||||
else
|
||||
imgbuffer[p_y] = color[n_iter & 7];
|
||||
imgbuffer[p_y] = COLOR(n_iter);
|
||||
|
||||
/* be nice to other threads:
|
||||
* if at least one tick has passed, yield */
|
||||
|
@ -293,9 +299,9 @@ static int mandelbrot_calc_high_prec(struct fractal_rect *rect,
|
|||
}
|
||||
|
||||
if (n_iter > ctx.max_iter)
|
||||
imgbuffer[p_y] = color[8];
|
||||
imgbuffer[p_y] = CONVERGENCE_COLOR;
|
||||
else
|
||||
imgbuffer[p_y] = color[n_iter & 7];
|
||||
imgbuffer[p_y] = COLOR(n_iter);
|
||||
|
||||
/* be nice to other threads:
|
||||
* if at least one tick has passed, yield */
|
||||
|
|
Loading…
Reference in a new issue