1from ctypes import POINTER, c_char_p, c_int, c_char 2from .dll import _bind 3 4__all__ = [ 5 # Enums 6 "SDL_errorcode", 7 "SDL_ENOMEM", "SDL_EFREAD", "SDL_EFWRITE", "SDL_EFSEEK", 8 "SDL_UNSUPPORTED", "SDL_LASTERROR", 9 10 # Macro Functions 11 "SDL_OutOfMemory", "SDL_Unsupported", "SDL_InvalidParamError", "SDL_Error", 12 13 # Functions 14 "SDL_SetError", "SDL_GetError", "SDL_GetErrorMsg", "SDL_ClearError" 15] 16 17 18SDL_SetError = _bind("SDL_SetError", [c_char_p], c_int) 19SDL_GetError = _bind("SDL_GetError", None, c_char_p) 20SDL_GetErrorMsg = _bind("SDL_GetErrorMsg", [POINTER(c_char), c_int], c_char_p, added='2.0.14') 21SDL_ClearError = _bind("SDL_ClearError") 22 23 24SDL_errorcode = c_int 25 26SDL_ENOMEM = 0 27SDL_EFREAD = 1 28SDL_EFWRITE = 2 29SDL_EFSEEK = 3 30SDL_UNSUPPORTED = 4 31SDL_LASTERROR = 5 32 33 34SDL_Error = _bind("SDL_Error", [SDL_errorcode], c_int) 35SDL_OutOfMemory = SDL_Error(SDL_ENOMEM) 36SDL_Unsupported = SDL_Error(SDL_UNSUPPORTED) 37SDL_InvalidParamError = lambda x: SDL_SetError("Parameter '%s' is invalid" % (x)) 38