#include"LEXSDL.h"
#include"LEXSDL_internal.h"
SDL_Renderer* LEXSDL_CreateRenderer(uint32_t flags){
if(flags != 0)
LEXSDLDATA.renderer = SDL_CreateRenderer(LEXSDLDATA.window, -1, flags);
else
LEXSDLDATA.renderer = SDL_CreateRenderer(LEXSDLDATA.window, -1, LEXSDL_RENDERERINITFLAGS);
return LEXSDLDATA.renderer;
}
void LEXSDL_GetBackgroundColor(uint8_t *r, uint8_t *g, uint8_t *b, uint8_t *a){
*r = LEXSDLDATA.bgColor[0];
*g = LEXSDLDATA.bgColor[1];
*b = LEXSDLDATA.bgColor[2];
*a = LEXSDLDATA.bgColor[3];
}
void LEXSDL_GetDrawColor(uint8_t *r, uint8_t *g, uint8_t *b, uint8_t *a){
*r = LEXSDLDATA.drColor[0];
*g = LEXSDLDATA.drColor[1];
*b = LEXSDLDATA.drColor[2];
*a = LEXSDLDATA.drColor[3];
}
SDL_Renderer* LEXSDL_GetRenderer(void){
return LEXSDLDATA.renderer;
}
void LEXSDL_SetRenderer(SDL_Renderer *renderer){
LEXSDLDATA.renderer = renderer;
}
void LEXSDL_SetBackgroundColor(uint8_t r, uint8_t g, uint8_t b, uint8_t a){
LEXSDLDATA.bgColor[0] = r;
LEXSDLDATA.bgColor[1] = g;
LEXSDLDATA.bgColor[2] = b;
LEXSDLDATA.bgColor[3] = a;
}
void LEXSDL_SetDrawColor(uint8_t r, uint8_t g, uint8_t b, uint8_t a){
LEXSDLDATA.drColor[0] = r;
LEXSDLDATA.drColor[1] = g;
LEXSDLDATA.drColor[2] = b;
LEXSDLDATA.drColor[3] = a;
SDL_SetRenderDrawColor(LEXSDLDATA.renderer, r,g,b,a);
}
int LEXSDL_NewFrame(void){
SDL_SetRenderDrawColor(LEXSDLDATA.renderer, LEXSDLDATA.bgColor[0],LEXSDLDATA.bgColor[1],LEXSDLDATA.bgColor[2],LEXSDLDATA.bgColor[3]);
int err = SDL_RenderClear(LEXSDLDATA.renderer);
SDL_SetRenderDrawColor(LEXSDLDATA.renderer, LEXSDLDATA.drColor[0],LEXSDLDATA.drColor[1],LEXSDLDATA.drColor[2],LEXSDLDATA.drColor[3]);
return err;
}
void LEXSDL_ShowFrame(void){
SDL_RenderPresent(LEXSDLDATA.renderer);
}