diff --git a/Extensions/Sprite.cpp b/Extensions/Sprite.cpp index 20b1476..4297d35 100644 --- a/Extensions/Sprite.cpp +++ b/Extensions/Sprite.cpp @@ -739,22 +739,22 @@ void TFT_eSprite::pushSprite(int32_t x, int32_t y, uint16_t transp) // 4bpp -> 4bpp (note: color translation depends on the 2 sprites pallet colors) // 1bpp -> 1bpp (note: color translation depends on the 2 sprites bitmap colors) -bool TFT_eSprite::pushSprite(TFT_eSprite &spr, int32_t x, int32_t y) +bool TFT_eSprite::pushSprite(TFT_eSprite *spr, int32_t x, int32_t y) { if (!_created) return false; - if (!spr.created()) return false; + if (!spr->created()) return false; // Check destination sprite compatibility - int8_t ds_bpp = spr.getColorDepth(); + int8_t ds_bpp = spr->getColorDepth(); if (_bpp == 16 && ds_bpp != 16 && ds_bpp != 8) return false; if (_bpp == 8) return false; if (_bpp == 4 && ds_bpp != 4) return false; if (_bpp == 1 && ds_bpp != 1) return false; - bool oldSwapBytes = spr.getSwapBytes(); - spr.setSwapBytes(false); - spr.pushImage(x, y, _dwidth, _dheight, _img ); - spr.setSwapBytes(oldSwapBytes); + bool oldSwapBytes = spr->getSwapBytes(); + spr->setSwapBytes(false); + spr->pushImage(x, y, _dwidth, _dheight, _img ); + spr->setSwapBytes(oldSwapBytes); return true; } diff --git a/Extensions/Sprite.h b/Extensions/Sprite.h index 823ec1f..5282bbf 100644 --- a/Extensions/Sprite.h +++ b/Extensions/Sprite.h @@ -135,7 +135,7 @@ class TFT_eSprite : public TFT_eSPI { // Push the sprite to another sprite, this fn calls pushImage() in the destination sprite class. // >>>>>> Using a transparent color is not supported at the moment <<<<<< - bool pushSprite(TFT_eSprite &spr, int32_t x, int32_t y); + bool pushSprite(TFT_eSprite *spr, int32_t x, int32_t y); // Push a windowed area of the sprite to the TFT at tx, ty bool pushSprite(int32_t tx, int32_t ty, int32_t sx, int32_t sy, int32_t sw, int32_t sh);