Solution for drawing strings in center

This commit is contained in:
CommanderRedYT
2022-12-26 23:10:28 +01:00
parent 499a38ccea
commit 3d1d793550
2 changed files with 6 additions and 6 deletions

View File

@@ -4104,8 +4104,9 @@ int16_t TFT_eSPI::drawChar(uint16_t uniCode, int32_t x, int32_t y, uint16_t colo
***************************************************************************************/
// With font number. Note: font number is over-ridden if a smooth font is loaded
int16_t TFT_eSPI::drawString(std::string_view string, int32_t poX, int32_t poY, uint16_t color, uint16_t bgcolor, uint8_t font)
int16_t TFT_eSPI::drawString(std::string_view string, int32_t poX, int32_t poY, uint16_t color, uint16_t bgcolor, uint8_t font, uint8_t datum)
{
textdatum = datum;
#ifdef CONFIG_TFT_IS_AUTOBAHN
if (font == 4)
{
@@ -4331,6 +4332,7 @@ int16_t TFT_eSPI::drawString(std::string_view string, int32_t poX, int32_t poY,
#endif
//^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ DEBUG ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
textdatum = 0;
return sumX;
}
@@ -4343,8 +4345,7 @@ int16_t TFT_eSPI::drawCentreString(std::string_view string, int32_t dX, int32_t
{
uint8_t tempdatum = textdatum;
int32_t sumX = 0;
textdatum = TC_DATUM;
sumX = drawString(string, dX, poY, color, bgcolor, font);
sumX = drawString(string, dX, poY, color, bgcolor, font, TC_DATUM);
textdatum = tempdatum;
return sumX;
}
@@ -4358,8 +4359,7 @@ int16_t TFT_eSPI::drawRightString(std::string_view string, int32_t dX, int32_t p
{
uint8_t tempdatum = textdatum;
int16_t sumX = 0;
textdatum = TR_DATUM;
sumX = drawString(string, dX, poY, color, bgcolor, font);
sumX = drawString(string, dX, poY, color, bgcolor, font, TR_DATUM);
textdatum = tempdatum;
return sumX;
}

View File

@@ -552,7 +552,7 @@ class TFT_eSPI {
// Handle char arrays
// Use with setTextDatum() to position string on TFT, and setTextPadding() to blank old displayed strings
int16_t drawString(std::string_view string, int32_t x, int32_t y, uint16_t color, uint16_t bgcolor, uint8_t font); // Draw string using specifed font number
int16_t drawString(std::string_view string, int32_t x, int32_t y, uint16_t color, uint16_t bgcolor, uint8_t font, uint8_t datum); // Draw string using specifed font number
int16_t drawCentreString(std::string_view string, int32_t x, int32_t y, uint16_t color, uint16_t bgcolor, uint8_t font); // Deprecated, use setTextDatum() and drawString()
int16_t drawRightString(std::string_view string, int32_t x, int32_t y, uint16_t color, uint16_t bgcolor, uint8_t font); // Deprecated, use setTextDatum() and drawString()