typedef struct sLayer
{
  SDL_Surface* sprite;
  int x,y,h,v;
  int oX, oY;
} SLayer;

typedef struct transition
{
  int in;
  SDL_Color incolor;
  int out;
  SDL_Color outcolor;
} Transition;

typedef struct scene
{
  SLayer** sprites;
  int nSprites;
  int time;
  Transition fade;
} Scene;

SLayer* newSLayer(SDL_Surface* img, int x, int y, int h, int v, int alpha);
void deleteSLayer(SLayer* target);

Scene* newScene(int in, int out, int time, SDL_Color incolor, SDL_Color outcolor);
void buildScene(Scene* self, SLayer* sprite);
void playScene(Scene* self);
void sceneInput(Scene* self, int* counter);
void deleteScene(Scene* target);