PocketEmpires/Sprite.h

60 lines
1.8 KiB
C++

#ifndef SPRITE_H__
#define SPRITE_H__
/* *******************************************************************
* Includes
* ******************************************************************/
#include "Camera.h"
#include <Gamebuino.h>
#include <stdint.h>
/* *******************************************************************
* 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__ */