lexsdl 0.3.0

A wrapper for SDL2 to abstract away annoying parts
#include"LEXSDL.h"
#include"LEXSDL_internal.h"

/* WARNING if LexSdlData struct is modified it need to be modified in Rust too! */

/* INTERNAL STATE */
LexSdlData LEXSDLDATA = {
	/* WINDOWING */
	/* *window */NULL,
	
	/* RENDERING */
	/* *renderer */NULL,
	/* bgcolor[4] */{0x00,0x00,0x00,0xFF},
	/* drcolor[4] */{0xFF,0xFF,0xFF,0xFF},
	/* **textures */NULL,
	/* *sprites */NULL,
	/* texturesQuantity */0,
	/* spritesQuantity */0,
	
	/* EVENTS */
	/* eventQuit */0,
	/* *keyboardState*/NULL,
	/* mouseState*/{0,0,0,0,0,0,0},
	
	/* TIMING */
	/* deltaTicksLast */0,
	/* deltaTicksCurrent */0,
	/* delta */0,
	/* deltaFloat */0,
};

void LEXSDLINTERNAL_CleanState(void){
	/* Windowing(?) */
	LEXSDLDATA.window = NULL;
	/* Rendering */
	LEXSDLDATA.renderer = NULL;
	LEXSDLDATA.bgColor[0] = 0;
	LEXSDLDATA.bgColor[1] = 0;
	LEXSDLDATA.bgColor[2] = 0;
	LEXSDLDATA.bgColor[3] = 0xFF;
	LEXSDLDATA.drColor[0] = 0xFF;
	LEXSDLDATA.drColor[1] = 0xFF;
	LEXSDLDATA.drColor[2] = 0xFF;
	LEXSDLDATA.drColor[3] = 0xFF;
	LEXSDLDATA.textures = NULL;
	LEXSDLDATA.sprites = NULL;
	LEXSDLDATA.texturesQuantity = 0;
	LEXSDLDATA.spritesQuantity = 0;
	/* Event */
	LEXSDLDATA.eventQuit = 0;
	LEXSDLDATA.keyboardState = NULL;
	LEXSDLDATA.mouseState.x = 0;
	LEXSDLDATA.mouseState.y = 0;
	LEXSDLDATA.mouseState.left = 0;
	LEXSDLDATA.mouseState.right = 0;
	LEXSDLDATA.mouseState.middle = 0;
	LEXSDLDATA.mouseState.x1 = 0;
	LEXSDLDATA.mouseState.x2 = 0;
}