#ifndef SPRITE_H__ #define SPRITE_H__ /* ******************************************************************* * Includes * ******************************************************************/ #include "Camera.h" #include #include /* ******************************************************************* * Defines * ******************************************************************/ /* ******************************************************************* * Global types definition * ******************************************************************/ /* ******************************************************************* * Global variables declaration * ******************************************************************/ extern const Camera* _cam; /* ******************************************************************* * Global functions declaration * ******************************************************************/ /* ******************************************************************* * Class definition * ******************************************************************/ class Sprite { public: Sprite( const uint8_t* const pu8SprData, const bool followCam = true, const uint8_t u8Colour = BLACK, const uint8_t rotation = NOFLIP); void setPos(const uint8_t x, const uint8_t y); void draw(void); static void setCamera(const Camera* const cam) { _cam = cam; }; static uint8_t getWidth(const uint8_t* const pu8SprData); static uint8_t getHeight(const uint8_t* const pu8SprData); private: const uint8_t* _pu8SprData; const bool _followCam; uint8_t _colour; uint8_t _rotation; uint8_t _x; uint8_t _y; }; #endif /* SPRITE_H__ */