#include"LEXSDL.h"
#include"LEXSDL_internal.h"
int LEXSDL_Init(uint32_t flags){
int error = 0;
if(flags != 0)
error = SDL_Init(flags);
else
error = SDL_Init(LEXSDL_INITFLAGS);
if(LEXSDL_SetupEvents())
return -1;
return error;
}
int LEXSDL_InitIMG(int flags){
if(flags == 0)
flags = LEXSDL_IMAGEINITFLAGS;
if(IMG_Init(flags) == flags)
return 0;
return -1;
}
void LEXSDL_Terminate(void){
for(int i = 0; i < (int)LEXSDLDATA.texturesQuantity; i++){
SDL_DestroyTexture(LEXSDLDATA.textures[i]);
}
if(LEXSDLDATA.textures)
free(LEXSDLDATA.textures);
if(LEXSDLDATA.sprites)
free(LEXSDLDATA.sprites);
LEXSDLDATA.keyboardState = NULL;
LEXSDLINTERNAL_CleanState();
SDL_DestroyRenderer(LEXSDLDATA.renderer);
SDL_DestroyWindow(LEXSDLDATA.window);
}
void LEXSDL_Quit(void){
IMG_Quit();
SDL_Quit();
}