Mercurial > public > ostc4
diff Discovery/Src/gfx_engine.c @ 485:7a17bfc932b6 FixLayout_Header_LogView
Bugfix right alignment of string:
Size calculation did not consider "tiny" displayed characters as used for example for units => added code to identify small font and adapt calculation
author | ideenmodellierer |
---|---|
date | Tue, 26 May 2020 21:13:00 +0200 |
parents | 89f6857276f8 |
children | d78c48552f23 |
line wrap: on
line diff
--- a/Discovery/Src/gfx_engine.c Tue May 26 21:12:46 2020 +0200 +++ b/Discovery/Src/gfx_engine.c Tue May 26 21:13:00 2020 +0200 @@ -3175,6 +3175,7 @@ uint32_t pText; uint8_t setToTinyFont = 0; uint16_t decodeUTF8; + uint8_t tinyState = 0; /* used to identify the usage of tiny font */ #ifndef BOOTLOADER_STANDALONE SSettings *pSettings; @@ -3197,6 +3198,24 @@ while (*(char*)pText != 0)// und fehlend: Abfrage window / image size { + if(*(char*)pText == '\016') /* request font change */ + { + tinyState++; + } + if(*(char*)pText == '\017') /* request font reset */ + { + tinyState = 0; + } + if(tinyState > 1) + { + font = (tFont *)cfg->TinyFont; + } + else + { + font = (tFont *)cfg->font; + } + + if((font == &FontT144) && (*(char*)pText == '.')) { font = (tFont *)&FontT84;