#ifndef DEF_SPRITE_H #define DEF_SPRITE_H /* [LIBS] Internes =========================================================*/ #include "SDL.h" #include "SDL_image.h" #include #include /* [LIBS] Externes =========================================================*/ /* [NS] Namespaces =========================================================*/ using namespace std; class Sprite{ public: Sprite(SDL_Rect r); Sprite(const int rgb[], SDL_Rect r); Sprite(const char url[], SDL_Rect r, SDL_Rect clip); void setImage(const char url[], int ox=0, int oy=0); // ~Sprite(); void appendTo(SDL_Surface *dest); // GETTERS SDL_Surface *surface(); private: SDL_Surface *_surface; SDL_Rect _rect; SDL_Rect _origin; }; /* [AGGR] Groupement de Sprite =========================================================*/ class SpriteGroup{ public: SpriteGroup(); void add(Sprite *s); void remove(Sprite *s); Sprite* get(int i); void appendTo(SDL_Surface *dest); thread *animate(SDL_Window *win, int t); private: vector _sprites; thread *_animation; friend void SpriteGroupAnimation(SDL_Window *win, SpriteGroup *sg, int t); }; /* [BODY] Inclusion du corps =========================================================*/ #include "Sprite.cpp" #endif