diff --git a/Extensions/Button.cpp b/Extensions/Button.cpp index 440c3f6..51bb316 100644 --- a/Extensions/Button.cpp +++ b/Extensions/Button.cpp @@ -64,21 +64,30 @@ void TFT_eSPI_Button::drawButton(bool inverted, String long_name) { _gfx->fillRoundRect(_x1, _y1, _w, _h, r, fill); _gfx->drawRoundRect(_x1, _y1, _w, _h, r, outline); - _gfx->setTextColor(text, fill); - _gfx->setTextSize(_textsize); + if (_gfx->textfont == 255) { + _gfx->setCursor(_x1 + (_w / 2) - (strlen(_label) * 3 * _textsize), + _y1 + (_h / 2) - (4 * _textsize)); + _gfx->setTextColor(text); + _gfx->setTextSize(_textsize); + _gfx->print(_label); + } + else { + _gfx->setTextColor(text, fill); + _gfx->setTextSize(_textsize); - uint8_t tempdatum = _gfx->getTextDatum(); - _gfx->setTextDatum(_textdatum); - uint16_t tempPadding = _gfx->getTextPadding(); - _gfx->setTextPadding(0); + uint8_t tempdatum = _gfx->getTextDatum(); + _gfx->setTextDatum(_textdatum); + uint16_t tempPadding = _gfx->getTextPadding(); + _gfx->setTextPadding(0); - if (long_name == "") - _gfx->drawString(_label, _x1 + (_w/2) + _xd, _y1 + (_h/2) - 4 + _yd); - else - _gfx->drawString(long_name, _x1 + (_w/2) + _xd, _y1 + (_h/2) - 4 + _yd); + if (long_name == "") + _gfx->drawString(_label, _x1 + (_w/2) + _xd, _y1 + (_h/2) - 4 + _yd); + else + _gfx->drawString(long_name, _x1 + (_w/2) + _xd, _y1 + (_h/2) - 4 + _yd); - _gfx->setTextDatum(tempdatum); - _gfx->setTextPadding(tempPadding); + _gfx->setTextDatum(tempdatum); + _gfx->setTextPadding(tempPadding); + } } bool TFT_eSPI_Button::contains(int16_t x, int16_t y) { diff --git a/TFT_eSPI.h b/TFT_eSPI.h index 42ea548..c85fef9 100644 --- a/TFT_eSPI.h +++ b/TFT_eSPI.h @@ -16,7 +16,7 @@ #ifndef _TFT_eSPIH_ #define _TFT_eSPIH_ -#define TFT_ESPI_VERSION "2.4.23" +#define TFT_ESPI_VERSION "2.4.24" // Bit level feature flags // Bit 0 set: viewport capability diff --git a/library.json b/library.json index a8519b6..b927ccc 100644 --- a/library.json +++ b/library.json @@ -1,6 +1,6 @@ { "name": "TFT_eSPI", - "version": "2.4.23", + "version": "2.4.24", "keywords": "Arduino, tft, ePaper, display, Pico, RP2040, STM32, ESP8266, NodeMCU, ESP32, M5Stack, ILI9341, ST7735, ILI9163, S6D02A1, ILI9481, ILI9486, ILI9488, ST7789, RM68140, SSD1351, SSD1963, ILI9225, HX8357D", "description": "A TFT and ePaper SPI graphics library with optimisation for Raspberry Pi Pico, ESP8266, ESP32 and STM32", "repository": diff --git a/library.properties b/library.properties index 292ab5f..b2abf1d 100644 --- a/library.properties +++ b/library.properties @@ -1,5 +1,5 @@ name=TFT_eSPI -version=2.4.23 +version=2.4.24 author=Bodmer maintainer=Bodmer sentence=TFT graphics library for Arduino processors with performance optimisation for RP2040, STM32, ESP8266 and ESP32