/* ******************************************************************* * Includes * ******************************************************************/ #include "Sprite.h" #include "System.h" /* ******************************************************************* * Defines * ******************************************************************/ /* ******************************************************************* * Types definition * ******************************************************************/ /* ******************************************************************* * Global variables definition * ******************************************************************/ /* ******************************************************************* * Local variables definition * ******************************************************************/ /* ******************************************************************* * Local prototypes declaration * ******************************************************************/ /* ******************************************************************* * Functions definition * ******************************************************************/ /*****************************************************************//** * * \brief Constructor for Sprite class. * * \param pu8SprData * Pointer to raw sprite data. * * \param u8Colour * Sprite colour. Default value is BLACK. * * \param rotation * Sprite rotation. Default value is NOROT. * *********************************************************************/ Sprite::Sprite(const uint8_t& pu8SprData, const uint8_t u8Colour, const uint8_t rotation) : _pu8SprData(pu8SprData), _colour(u8Colour), _rotation(rotation), _x(0), _y(0) { } /*****************************************************************//** * * \brief Reportedly, this function updates X/Y coordinates for * a Sprite object. * * \param x * X position, relative to screen coordinates origin. * * \param y * Y position, relative to screen coordinates origin. * *********************************************************************/ void Sprite::setPos(const uint8_t x, const uint8_t y) { /* Update coords according to input parameters. */ _x = x; _y = y; } void Sprite::draw(void) { gb.display.setColor(_colour); gb.display.drawBitmap(_x, _y, (const uint8_t*)&_pu8SprData); }