diff options
| author | csloz <lawrence@computersolutions.cn> | 2019-08-14 16:44:28 +0800 |
|---|---|---|
| committer | csloz <lawrence@computersolutions.cn> | 2019-08-14 16:44:28 +0800 |
| commit | c6ec6a9dbc83c2c84c64dd47d2afc7b303f6fe2a (patch) | |
| tree | a03a2d9877763ddb198a1cb40ec9173d4877e83f | |
| parent | a0dd1b2aae65dbbff23a9357884daec58eb196de (diff) | |
Add drawIcon code
Add drawIcon functionality.
Draws from a c bitmap icon.
| -rw-r--r-- | ESP32-RGB64x32MatrixPanel-I2S-DMA.h | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/ESP32-RGB64x32MatrixPanel-I2S-DMA.h b/ESP32-RGB64x32MatrixPanel-I2S-DMA.h index 7e48ea3..d19199d 100644 --- a/ESP32-RGB64x32MatrixPanel-I2S-DMA.h +++ b/ESP32-RGB64x32MatrixPanel-I2S-DMA.h @@ -11,7 +11,7 @@ #include "Adafruit_GFX.h" -#define SERIAL_DEBUG_OUTPUT 1 +#define SERIAL_DEBUG_OUTPUT 0 /* @@ -75,7 +75,7 @@ * */ -#define MATRIX_HEIGHT 32 +#define MATRIX_HEIGHT 64 #define MATRIX_WIDTH 64 #define MATRIX_ROWS_IN_PARALLEL 2 @@ -235,6 +235,7 @@ class RGB64x32MatrixPanel_I2S_DMA : public Adafruit_GFX { void drawPixelRGB565(int16_t x, int16_t y, uint16_t color); void drawPixelRGB888(int16_t x, int16_t y, uint8_t r, uint8_t g, uint8_t b); void drawPixelRGB24(int16_t x, int16_t y, rgb_24 color); + void drawIcon (int *ico, int16_t x, int16_t y, int16_t h, int16_t w); // Color 444 is a 4 bit scale, so 0 to 15, color 565 takes a 0-255 bit value, so scale up by 255/15 (i.e. 17)! uint16_t color444(uint8_t r, uint8_t g, uint8_t b) { return color565(r*17,g*17,b*17); } @@ -318,6 +319,17 @@ inline void RGB64x32MatrixPanel_I2S_DMA::drawPixel(int16_t x, int16_t y, uint16_ drawPixelRGB565( x, y, color); } +//Loz Added +inline void RGB64x32MatrixPanel_I2S_DMA::drawIcon (int *ico, int16_t x, int16_t y, int16_t cols, int16_t rows) { + int i, j; + for (i = 0; i < rows; i++) { + for (j = 0; j < cols; j++) { + drawPixelRGB565 (x + j, y + i, ico[i * cols + j]); + } + } +} + + inline void RGB64x32MatrixPanel_I2S_DMA::fillScreen(uint16_t color) // adafruit virtual void override { uint8_t r = ((((color >> 11) & 0x1F) * 527) + 23) >> 6; |
