#ifndef DEF_XMANAGER_H #define DEF_XMANAGER_H class xManager{ public: xManager(const char *t, int w, int h); ~xManager(); SDL_Window *window(); SDL_Renderer *renderer(); bool status(); bool setBackground(Uint8 r=0xff, Uint8 g=0xff, Uint8 b=0xff, Uint8 a=0xff); bool setImage(const char *url); void waitEvent(SDL_EventType t, void(*handler)(SDL_Event*) ); void push(SDL_Texture *t, SDL_Rect *origin, SDL_Rect *dest); void pull(SDL_Texture *t); void update(); void manageFps(const int fps=0); private: // gestion FPS Uint32 _lasttick; Uint32 _fpstime; // status de l'initialisation bool _status; // Elements utiles SDL_Window *_window; SDL_Renderer *_renderer; SDL_Texture *_texture; // Gestion des textures vector _sprites; vector _src; vector _dst; // Protection thread-safe mutex _mutex; }; #endif