70 lines
1.4 KiB
C++
70 lines
1.4 KiB
C++
#ifndef DEF_SDLTL_H
|
|
|
|
#define DEF_SDLTL_H
|
|
|
|
/* [LIBS] Internes
|
|
=========================================================*/
|
|
#include "SDL.h"
|
|
#include "SDL_image.h"
|
|
#include <vector>
|
|
#include <mutex>
|
|
|
|
/* [LIBS] Externes
|
|
=========================================================*/
|
|
|
|
|
|
/* [NS] Namespaces
|
|
=========================================================*/
|
|
using namespace std;
|
|
|
|
|
|
class sdltl{
|
|
|
|
public:
|
|
sdltl(const char *t, int w, int h);
|
|
~sdltl();
|
|
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<SDL_Texture*> _sprites;
|
|
vector<SDL_Rect*> _src;
|
|
vector<SDL_Rect*> _dst;
|
|
|
|
// Protection thread-safe
|
|
mutex _mutex;
|
|
|
|
|
|
};
|
|
|
|
|
|
/* [BODY] Inclusion du corps
|
|
=========================================================*/
|
|
#include "sdltl.cpp"
|
|
|
|
|
|
#endif |