#ifndef SDL2__h0
#define SDL2__h0

typedef unsigned char UINT8;
typedef unsigned short UINT16;
typedef unsigned int UINT32;

typedef enum {
  SDL_FALSE = 0,
  SDL_TRUE  = 1
} SDL_bool;

typedef enum {
    SDL_BLENDMODE_NONE = 0x00000000,
    SDL_BLENDMODE_BLEND = 0x00000001,
    SDL_BLENDMODE_ADD = 0x00000002,
    SDL_BLENDMODE_MOD = 0x00000004
} SDL_BlendMode;

extern int SDL_UpperBlitScaled(void *, void *, void *, void *);
extern int SDL_UpperBlit(void *, void *, void *, void *);
extern void *SDL_ConvertSurface(void *, void *, UINT32);
extern void *SDL_CreateRGBSurface(UINT32, int, int, int, UINT32, UINT32, UINT32, UINT32);
extern void *SDL_CreateRenderer(void *, int, UINT32);
extern void *SDL_CreateTextureFromSurface(void *, void *);
extern void *SDL_CreateWindow(void *, int, int, int, int, UINT32);
extern void SDL_Delay(UINT32);
extern void SDL_DestroyTexture(void *);
extern int SDL_FillRect(void *, void *, UINT32);
extern void SDL_FreeSurface(void *);
extern int SDL_GetDesktopDisplayMode(int, void *);
extern void *SDL_GetError(void);
extern int SDL_GetModState();
extern void *SDL_GetKeyboardState(void *);
extern UINT32 SDL_GetMouseState(void *, void *);
extern UINT32 SDL_GetTicks(void);
extern UINT32 SDL_GetWindowFlags(void *);
extern void SDL_GetWindowSize(void *, void *, void *);
extern int IMG_Init(int);
extern void *IMG_Load(void *);
extern void IMG_Quit(void);
extern int SDL_Init(UINT32);
extern int SDL_InitSubSystem(UINT32);
extern void *SDL_LoadBMP_RW(void *, int);
extern int SDL_LockSurface(void *);
extern UINT32 SDL_MapRGB(void *, UINT8, UINT8, UINT8);
extern int SDL_PollEvent(void *);
extern int SDL_WaitEvent(void *);
extern int SDL_WaitEventTimeout(void *, int timeout);
extern void SDL_Quit(void);
extern void SDL_QuitSubSystem(UINT32);
extern void *SDL_RWFromFile(void *, void *);
extern int SDL_RenderClear(void *);
extern int SDL_RenderCopy(void *, void *, void *, void *);
extern int SDL_RenderDrawLine(void *, int, int, int, int);
extern int SDL_RenderDrawPoint(void *, int, int);
extern int SDL_RenderDrawRect(void *, void *);
extern int SDL_RenderFillRect(void *, void *);
extern void SDL_RenderPresent(void *);
extern int SDL_RenderSetLogicalSize(void *, int, int);
extern int SDL_SetColorKey(void *, int, UINT32);
extern SDL_bool SDL_SetHint(void *, void *);
extern int SDL_SetRenderDrawBlendMode(void *, SDL_BlendMode);
extern int SDL_SetRenderDrawColor(void *, UINT8, UINT8, UINT8, UINT8);
extern int SDL_SetSurfaceColorMod(void *, UINT8, UINT8, UINT8);
extern int SDL_SetWindowFullscreen(void *, UINT32);
extern void SDL_SetWindowSize(void *, int, int);
extern void SDL_SetWindowTitle(void *, void *);
extern void SDL_SetWindowIcon(void *, void *);
extern int SDL_ShowCursor(int);
extern void SDL_UnlockSurface(void *);
extern void SDL_StartTextInput(void);
extern void SDL_StopTextInput(void);
extern int SDL_HasEvent(int);
extern int SDL_HasEvents(int, int);
extern int SDL_PeepEvents(void *, int, int, int, int);
extern int SDL_SetSurfaceAlphaMod(void *, UINT8);
extern int SDL_SetTextureColorMod(void *, UINT8, UINT8, UINT8);
extern int SDL_SetTextureAlphaMod(void *, UINT8);
extern SDL_bool SDL_SetClipRect(void *, void *);

#endif
