samples: display: Added support for BGR565
Added support for BGR565 to display sample Signed-off-by: Jan Van Winkel <jan.van_winkel@dxplore.eu>
This commit is contained in:
parent
9041b0f119
commit
6ebd0e3f02
1 changed files with 22 additions and 2 deletions
|
@ -102,8 +102,7 @@ static void fill_buffer_rgb888(enum corner corner, u8_t grey, u8_t *buf,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void fill_buffer_rgb565(enum corner corner, u8_t grey, u8_t *buf,
|
static u16_t get_rgb565_color(enum corner corner, u8_t grey)
|
||||||
size_t buf_size)
|
|
||||||
{
|
{
|
||||||
u16_t color = 0;
|
u16_t color = 0;
|
||||||
u16_t grey_5bit;
|
u16_t grey_5bit;
|
||||||
|
@ -124,6 +123,13 @@ static void fill_buffer_rgb565(enum corner corner, u8_t grey, u8_t *buf,
|
||||||
color = grey_5bit << 11 | grey_5bit << (5 + 1) | grey_5bit;
|
color = grey_5bit << 11 | grey_5bit << (5 + 1) | grey_5bit;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
return color;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void fill_buffer_rgb565(enum corner corner, u8_t grey, u8_t *buf,
|
||||||
|
size_t buf_size)
|
||||||
|
{
|
||||||
|
u16_t color = get_rgb565_color(corner, grey);
|
||||||
|
|
||||||
for (size_t idx = 0; idx < buf_size; idx += 2) {
|
for (size_t idx = 0; idx < buf_size; idx += 2) {
|
||||||
*(buf + idx + 0) = (color >> 8) & 0xFFu;
|
*(buf + idx + 0) = (color >> 8) & 0xFFu;
|
||||||
|
@ -131,6 +137,16 @@ static void fill_buffer_rgb565(enum corner corner, u8_t grey, u8_t *buf,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void fill_buffer_bgr565(enum corner corner, u8_t grey, u8_t *buf,
|
||||||
|
size_t buf_size)
|
||||||
|
{
|
||||||
|
u16_t color = get_rgb565_color(corner, grey);
|
||||||
|
|
||||||
|
for (size_t idx = 0; idx < buf_size; idx += 2) {
|
||||||
|
*(u16_t *)(buf + idx) = color;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static void fill_buffer_mono(enum corner corner, u8_t grey, u8_t *buf,
|
static void fill_buffer_mono(enum corner corner, u8_t grey, u8_t *buf,
|
||||||
size_t buf_size)
|
size_t buf_size)
|
||||||
{
|
{
|
||||||
|
@ -216,6 +232,10 @@ void main(void)
|
||||||
fill_buffer_fnc = fill_buffer_rgb565;
|
fill_buffer_fnc = fill_buffer_rgb565;
|
||||||
buf_size *= 2;
|
buf_size *= 2;
|
||||||
break;
|
break;
|
||||||
|
case PIXEL_FORMAT_BGR_565:
|
||||||
|
fill_buffer_fnc = fill_buffer_bgr565;
|
||||||
|
buf_size *= 2;
|
||||||
|
break;
|
||||||
case PIXEL_FORMAT_MONO01:
|
case PIXEL_FORMAT_MONO01:
|
||||||
case PIXEL_FORMAT_MONO10:
|
case PIXEL_FORMAT_MONO10:
|
||||||
fill_buffer_fnc = fill_buffer_mono;
|
fill_buffer_fnc = fill_buffer_mono;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue