Graphical TFT fixes, cleanup (#20861)

Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
This commit is contained in:
Tanguy Pruvot
2021-01-25 08:44:39 +01:00
committed by GitHub
parent 90be1c3fa7
commit c12be1f98c
14 changed files with 526 additions and 658 deletions

View File

@@ -36,7 +36,7 @@ font_t *TFT_String::font_header;
uint8_t TFT_String::data[];
uint16_t TFT_String::span;
uint16_t TFT_String::length;
uint8_t TFT_String::length;
void TFT_String::set_font(const uint8_t *font) {
font_header = (font_t *)font;
@@ -122,13 +122,14 @@ void TFT_String::add(uint8_t *string, int8_t index, uint8_t *itemString) {
eol();
}
void TFT_String::add(uint8_t *string) {
void TFT_String::add(uint8_t *string, uint8_t max_len) {
wchar_t wchar;
while (*string) {
while (*string && max_len) {
string = get_utf8_value_cb(string, read_byte, &wchar);
if (wchar > 255) wchar |= 0x0080;
uint8_t ch = uint8_t(wchar & 0x00FF);
add_character(ch);
max_len--;
}
eol();
}