(RGUI) Redesign blit_line somewhat
This commit is contained in:
parent
1711daab76
commit
764f5e22aa
|
@ -163,27 +163,30 @@ static void blit_line(int x, int y,
|
||||||
const char *message, uint16_t color)
|
const char *message, uint16_t color)
|
||||||
{
|
{
|
||||||
size_t pitch = menu_display_get_framebuffer_pitch();
|
size_t pitch = menu_display_get_framebuffer_pitch();
|
||||||
|
const uint8_t *font_fb = menu_display_get_font_framebuffer();
|
||||||
|
|
||||||
while (!string_is_empty(message))
|
if (font_fb)
|
||||||
{
|
{
|
||||||
unsigned i, j;
|
while (!string_is_empty(message))
|
||||||
const uint8_t *font_fb = menu_display_get_font_framebuffer();
|
|
||||||
uint32_t symbol = utf8_walk(&message);
|
|
||||||
|
|
||||||
for (j = 0; j < FONT_HEIGHT; j++)
|
|
||||||
{
|
{
|
||||||
for (i = 0; i < FONT_WIDTH; i++)
|
unsigned i, j;
|
||||||
|
uint32_t symbol = utf8_walk(&message);
|
||||||
|
|
||||||
|
for (j = 0; j < FONT_HEIGHT; j++)
|
||||||
{
|
{
|
||||||
uint8_t rem = 1 << ((i + j * FONT_WIDTH) & 7);
|
for (i = 0; i < FONT_WIDTH; i++)
|
||||||
int offset = (i + j * FONT_WIDTH) >> 3;
|
{
|
||||||
bool col = (font_fb[FONT_OFFSET(symbol) + offset] & rem);
|
uint8_t rem = 1 << ((i + j * FONT_WIDTH) & 7);
|
||||||
|
int offset = (i + j * FONT_WIDTH) >> 3;
|
||||||
|
bool col = (font_fb[FONT_OFFSET(symbol) + offset] & rem);
|
||||||
|
|
||||||
if (col)
|
if (col)
|
||||||
rgui_framebuf_data[(y + j) * (pitch >> 1) + (x + i)] = color;
|
rgui_framebuf_data[(y + j) * (pitch >> 1) + (x + i)] = color;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
x += FONT_WIDTH_STRIDE;
|
x += FONT_WIDTH_STRIDE;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue