#ifndef __RENDERER_H__
#define __RENDERER_H__

#include <SDL2/SDL_surface.h>
#include <SDL2/SDL_render.h>
#include <stdbool.h>


typedef int RenderId_t;
//goes to false on exit
extern bool running;
extern SDL_Renderer * renderer;

typedef struct RenderObject {
    float x,y;
    int z;
    float width, height; //ratio between 0 & 1 of the monitor resolution
    float angle_degre;
    SDL_Surface * surface;
} RenderObject_t;

typedef struct MonitorSize {
    int width, height;
} MonitorSize_t;

void renderer_main(void(*game_main)(void)) ;
RenderId_t renderer_renderObject(RenderObject_t);
void renderer_removeObject(RenderId_t);

MonitorSize_t renderer_getMonitorSize(void);

#endif
