Fix yellow for LCD_DEPTH == 32

Change-Id: I59e9ec8720555c17e882a3a8c7ed0ba281b8d7c7
This commit is contained in:
Marcin Bukat 2018-06-20 21:57:34 +02:00
parent 28cfeed4c1
commit 708a54d3de

View file

@ -39,8 +39,15 @@ static fb_data imgbuffer[LCD_HEIGHT];
* 345 (=15*26-45) is max_iter maximal value
* This implementation ignores pixel format, thus it is not uniformly spread
*/
#if LCD_DEPTH > 24
/* when LCD_DEPTH is 32 casting to 64bit intermediate is needed to prevent
* overflow and warning 'left shift count >= width of type'
*/
#define LCOLOR(iter) ((unsigned int)(((unsigned long long)iter << LCD_DEPTH) / 345))
#else
#define LCOLOR(iter) ((iter << LCD_DEPTH) / 345)
#endif
#endif
#ifdef HAVE_LCD_COLOR
#define COLOR(iter) FB_SCALARPACK(LCOLOR(iter))