diff --git a/Extensions/Sprite.cpp b/Extensions/Sprite.cpp index 4297d35..20b1476 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 5282bbf..823ec1f 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);