mirror of
https://github.com/Bodmer/TFT_eSPI.git
synced 2024-09-21 10:27:11 +00:00
1,4,8 bpp Sprites requite different default swapBytes settings
This commit is contained in:
parent
1f2d4b0a75
commit
fb2e669d37
14
TFT_eSPI.cpp
14
TFT_eSPI.cpp
@ -1132,6 +1132,8 @@ void TFT_eSPI::pushImage(int32_t x, int32_t y, int32_t w, int32_t h, uint8_t *da
|
||||
|
||||
if (bpp8)
|
||||
{
|
||||
bool swap = _swapBytes; _swapBytes = false;
|
||||
|
||||
uint8_t blue[] = {0, 11, 21, 31}; // blue 2 to 5 bit colour lookup table
|
||||
|
||||
_lastColor = -1; // Set to illegal value
|
||||
@ -1166,8 +1168,9 @@ void TFT_eSPI::pushImage(int32_t x, int32_t y, int32_t w, int32_t h, uint8_t *da
|
||||
|
||||
data += w;
|
||||
}
|
||||
_swapBytes = swap; // Restore old value
|
||||
}
|
||||
else if (cmap != nullptr)
|
||||
else if (cmap != nullptr) // Must be 4bpp
|
||||
{
|
||||
bool swap = _swapBytes; _swapBytes = true;
|
||||
|
||||
@ -1218,8 +1221,9 @@ void TFT_eSPI::pushImage(int32_t x, int32_t y, int32_t w, int32_t h, uint8_t *da
|
||||
}
|
||||
_swapBytes = swap; // Restore old value
|
||||
}
|
||||
else
|
||||
else // Must be 1bpp
|
||||
{
|
||||
bool swap = _swapBytes; _swapBytes = false;
|
||||
while (dh--) {
|
||||
w = (w+7) & 0xFFF8;
|
||||
|
||||
@ -1246,6 +1250,7 @@ void TFT_eSPI::pushImage(int32_t x, int32_t y, int32_t w, int32_t h, uint8_t *da
|
||||
|
||||
dy++;
|
||||
}
|
||||
_swapBytes = swap; // Restore old value
|
||||
}
|
||||
|
||||
inTransaction = false;
|
||||
@ -1283,6 +1288,8 @@ void TFT_eSPI::pushImage(int32_t x, int32_t y, int32_t w, int32_t h, uint8_t *da
|
||||
uint16_t lineBuf[dw];
|
||||
|
||||
if (bpp8) { // 8 bits per pixel
|
||||
bool swap = _swapBytes; _swapBytes = false;
|
||||
|
||||
data += dx + dy * w;
|
||||
|
||||
uint8_t blue[] = {0, 11, 21, 31}; // blue 2 to 5 bit colour lookup table
|
||||
@ -1337,6 +1344,7 @@ void TFT_eSPI::pushImage(int32_t x, int32_t y, int32_t w, int32_t h, uint8_t *da
|
||||
y++;
|
||||
data += w;
|
||||
}
|
||||
_swapBytes = swap; // Restore old value
|
||||
}
|
||||
else if (cmap != nullptr) // 4bpp with color map
|
||||
{
|
||||
@ -1430,6 +1438,7 @@ void TFT_eSPI::pushImage(int32_t x, int32_t y, int32_t w, int32_t h, uint8_t *da
|
||||
_swapBytes = swap; // Restore old value
|
||||
}
|
||||
else { // 1 bit per pixel
|
||||
bool swap = _swapBytes; _swapBytes = false;
|
||||
w = (w+7) & 0xFFF8;
|
||||
while (dh--) {
|
||||
int32_t px = x;
|
||||
@ -1469,6 +1478,7 @@ void TFT_eSPI::pushImage(int32_t x, int32_t y, int32_t w, int32_t h, uint8_t *da
|
||||
y++;
|
||||
dy++;
|
||||
}
|
||||
_swapBytes = swap; // Restore old value
|
||||
}
|
||||
|
||||
inTransaction = false;
|
||||
|
@ -16,7 +16,7 @@
|
||||
#ifndef _TFT_eSPIH_
|
||||
#define _TFT_eSPIH_
|
||||
|
||||
#define TFT_ESPI_VERSION "2.2.2"
|
||||
#define TFT_ESPI_VERSION "2.2.3"
|
||||
|
||||
/***************************************************************************************
|
||||
** Section 1: Load required header files
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "TFT_eSPI",
|
||||
"version": "2.2.2",
|
||||
"version": "2.2.3",
|
||||
"keywords": "Arduino, tft, ePaper, display, STM32, ESP8266, NodeMCU, ESP32, M5Stack, ILI9341, ST7735, ILI9163, S6D02A1, ILI9486, ST7789, RM68140",
|
||||
"description": "A TFT and ePaper SPI graphics library with optimisation for ESP8266, ESP32 and STM32",
|
||||
"repository":
|
||||
|
@ -1,5 +1,5 @@
|
||||
name=TFT_eSPI
|
||||
version=2.2.2
|
||||
version=2.2.3
|
||||
author=Bodmer
|
||||
maintainer=Bodmer
|
||||
sentence=TFT graphics library for Arduino processors with performance optimisation for STM32, ESP8266 and ESP32
|
||||
|
Loading…
Reference in New Issue
Block a user