mirror of
https://github.com/Bodmer/TFT_eSPI.git
synced 2025-08-07 06:34:44 +02:00
Fic #311
Pixel function used wrong width and height for bounds check. Remove String variable in smooth font code (not used) Correct ESP8266UncannyEyes example for new setAddrWindow parameters
This commit is contained in:
@@ -76,15 +76,13 @@ void TFT_eSPI::loadFont(String fontName)
|
||||
|
||||
unloadFont();
|
||||
|
||||
_gFontFilename = "/" + fontName + ".vlw";
|
||||
|
||||
// Avoid a crash on the ESP32 if the file does not exist
|
||||
if (SPIFFS.exists(_gFontFilename) == false) {
|
||||
if (SPIFFS.exists("/" + fontName + ".vlw") == false) {
|
||||
Serial.println("Font file " + fontName + " not found!");
|
||||
return;
|
||||
}
|
||||
|
||||
fontFile = SPIFFS.open( _gFontFilename, "r");
|
||||
fontFile = SPIFFS.open( "/" + fontName + ".vlw", "r");
|
||||
|
||||
if(!fontFile) return;
|
||||
|
||||
|
@@ -39,8 +39,6 @@ fontMetrics gFont = { 0, 0, 0, 0, 0, 0, 0 };
|
||||
int8_t* gdX = NULL; //leftExtent
|
||||
uint32_t* gBitmap = NULL; //file pointer to greyscale bitmap
|
||||
|
||||
String _gFontFilename;
|
||||
|
||||
bool fontLoaded = false; // Flags when a anti-aliased font is loaded
|
||||
|
||||
private:
|
||||
|
@@ -1059,6 +1059,8 @@ int16_t TFT_eSprite::height(void)
|
||||
// Does nothing for 8 and 16 bpp sprites. TODO allow rotation of these sprites
|
||||
void TFT_eSprite::setRotation(uint8_t rotation)
|
||||
{
|
||||
if (_bpp != 1) return;
|
||||
|
||||
_rotation = rotation;
|
||||
if (rotation == 0 && _iwidth > _iheight) swap_coord(_iwidth, _iheight);
|
||||
if (rotation == 1 && _iwidth < _iheight) swap_coord(_iwidth, _iheight);
|
||||
@@ -1085,19 +1087,22 @@ uint8_t TFT_eSprite::getRotation(void)
|
||||
void TFT_eSprite::drawPixel(int32_t x, int32_t y, uint32_t color)
|
||||
{
|
||||
// Range checking
|
||||
if ((x < 0) || (y < 0) ||(x >= _width) || (y >= _height) || !_created) return;
|
||||
if ((x < 0) || (y < 0) || !_created) return;
|
||||
|
||||
if (_bpp == 16)
|
||||
{
|
||||
if ((x >= _iwidth) || (y >= _iheight)) return;
|
||||
color = (color >> 8) | (color << 8);
|
||||
_img[x+y*_iwidth] = (uint16_t) color;
|
||||
}
|
||||
else if (_bpp == 8)
|
||||
{
|
||||
if ((x >= _iwidth) || (y >= _iheight)) return;
|
||||
_img8[x+y*_iwidth] = (uint8_t)((color & 0xE000)>>8 | (color & 0x0700)>>6 | (color & 0x0018)>>3);
|
||||
}
|
||||
else // 1 bpp
|
||||
{
|
||||
if ((x >= _dwidth) || (y >= _dheight)) return;
|
||||
if (_rotation == 1)
|
||||
{
|
||||
uint16_t tx = x;
|
||||
|
@@ -141,7 +141,7 @@ void drawEye( // Renders one eye. Inputs must be pre-clipped & valid.
|
||||
// reset on each frame here in case of an SPI glitch.
|
||||
|
||||
//eye[e].tft.setAddrWindow(319-127, 0, 319, 127);
|
||||
eye[e].tft.setAddrWindow(0, 0, 128, 128);
|
||||
eye[e].tft.setAddrWindow(0, 0, 127, 127);
|
||||
|
||||
//digitalWrite(eye[e].cs, LOW); // Chip select
|
||||
|
||||
|
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "TFT_eSPI",
|
||||
"version": "1.4.6",
|
||||
"version": "1.4.7",
|
||||
"keywords": "tft, ePaper, display, ESP8266, NodeMCU, ESP32, M5Stack, ILI9341, ST7735, ILI9163, S6D02A1, ILI9486, ST7789",
|
||||
"description": "A TFT and ePaper SPI graphics library for ESP8266 and ESP32",
|
||||
"repository":
|
||||
|
@@ -1,5 +1,5 @@
|
||||
name=TFT_eSPI
|
||||
version=1.4.6
|
||||
version=1.4.7
|
||||
author=Bodmer
|
||||
maintainer=Bodmer
|
||||
sentence=A fast TFT graphics library for ESP8266 and ESP32 processors for the Arduino IDE
|
||||
|
Reference in New Issue
Block a user