106 lines
5.1 KiB
Python
106 lines
5.1 KiB
Python
import os
|
|
from ctypes import POINTER, c_int, c_char_p
|
|
from .dll import DLL
|
|
from .version import SDL_version
|
|
from .surface import SDL_Surface
|
|
from .rwops import SDL_RWops
|
|
from .render import SDL_Texture, SDL_Renderer
|
|
from .error import SDL_SetError, SDL_GetError
|
|
|
|
__all__ = ["SDL_IMAGE_MAJOR_VERSION", "SDL_IMAGE_MINOR_VERSION", \
|
|
"SDL_IMAGE_PATCHLEVEL", "SDL_IMAGE_VERSION", "IMG_Linked_Version",
|
|
"IMG_InitFlags", "IMG_INIT_JPG", "IMG_INIT_PNG", "IMG_INIT_TIF",
|
|
"IMG_INIT_WEBP", "IMG_Init", "IMG_Quit", "IMG_LoadTyped_RW",
|
|
"IMG_Load", "IMG_Load_RW", "IMG_LoadTexture", "IMG_LoadTexture_RW",
|
|
"IMG_LoadTextureTyped_RW", "IMG_isICO", "IMG_isCUR", "IMG_isBMP",
|
|
"IMG_isGIF", "IMG_isJPG", "IMG_isLBM", "IMG_isPNG", "IMG_isPNM",
|
|
"IMG_isPCX", "IMG_isTIF", "IMG_isXCF", "IMG_isXV", "IMG_isWEBP",
|
|
"IMG_LoadBMP_RW", "IMG_LoadCUR_RW", "IMG_LoadCUR_RW",
|
|
"IMG_LoadGIF_RW", "IMG_LoadICO_RW", "IMG_LoadJPG_RW",
|
|
"IMG_LoadLBM_RW", "IMG_LoadPCX_RW", "IMG_LoadPNM_RW",
|
|
"IMG_LoadPNG_RW", "IMG_LoadTGA_RW", "IMG_LoadTIF_RW",
|
|
"IMG_LoadXCF_RW", "IMG_LoadWEBP_RW", "IMG_LoadXPM_RW",
|
|
"IMG_LoadXV_RW", "IMG_ReadXPMFromArray",
|
|
"IMG_GetError", "IMG_SetError",
|
|
"get_dll_file"
|
|
]
|
|
|
|
try:
|
|
dll = DLL("SDL2_image", ["SDL2_image", "SDL2_image-2.0"],
|
|
os.getenv("PYSDL2_DLL_PATH"))
|
|
except RuntimeError as exc:
|
|
raise ImportError(exc)
|
|
|
|
|
|
def get_dll_file():
|
|
"""Gets the file name of the loaded SDL2_image library."""
|
|
return dll.libfile
|
|
|
|
_bind = dll.bind_function
|
|
|
|
SDL_IMAGE_MAJOR_VERSION = 2
|
|
SDL_IMAGE_MINOR_VERSION = 0
|
|
SDL_IMAGE_PATCHLEVEL = 0
|
|
|
|
|
|
def SDL_IMAGE_VERSION(x):
|
|
x.major = SDL_IMAGE_MAJOR_VERSION
|
|
x.minor = SDL_IMAGE_MINOR_VERSION
|
|
x.patch = SDL_IMAGE_PATCHLEVEL
|
|
|
|
IMG_Linked_Version = _bind("IMG_Linked_Version", None, POINTER(SDL_version))
|
|
|
|
IMG_InitFlags = c_int
|
|
IMG_INIT_JPG = 0x00000001
|
|
IMG_INIT_PNG = 0x00000002
|
|
IMG_INIT_TIF = 0x00000004
|
|
IMG_INIT_WEBP = 0x00000008
|
|
|
|
IMG_Init = _bind("IMG_Init", [c_int], c_int)
|
|
IMG_Quit = _bind("IMG_Quit")
|
|
IMG_LoadTyped_RW = _bind("IMG_LoadTyped_RW", [POINTER(SDL_RWops), c_int, c_char_p], POINTER(SDL_Surface))
|
|
IMG_Load = _bind("IMG_Load", [c_char_p], POINTER(SDL_Surface))
|
|
IMG_Load_RW = _bind("IMG_Load_RW", [POINTER(SDL_RWops), c_int], POINTER(SDL_Surface))
|
|
IMG_LoadTexture = _bind("IMG_LoadTexture", [POINTER(SDL_Renderer), c_char_p], POINTER(SDL_Texture))
|
|
IMG_LoadTexture_RW = _bind("IMG_LoadTexture_RW", [POINTER(SDL_Renderer), POINTER(SDL_RWops), c_int], POINTER(SDL_Texture))
|
|
IMG_LoadTextureTyped_RW = _bind("IMG_LoadTextureTyped_RW", [POINTER(SDL_Renderer), POINTER(SDL_RWops), c_int, c_char_p], POINTER(SDL_Texture))
|
|
|
|
IMG_isICO = _bind("IMG_isICO", [POINTER(SDL_RWops)], c_int)
|
|
IMG_isCUR = _bind("IMG_isCUR", [POINTER(SDL_RWops)], c_int)
|
|
IMG_isBMP = _bind("IMG_isBMP", [POINTER(SDL_RWops)], c_int)
|
|
IMG_isGIF = _bind("IMG_isGIF", [POINTER(SDL_RWops)], c_int)
|
|
IMG_isJPG = _bind("IMG_isJPG", [POINTER(SDL_RWops)], c_int)
|
|
IMG_isLBM = _bind("IMG_isLBM", [POINTER(SDL_RWops)], c_int)
|
|
IMG_isPCX = _bind("IMG_isPCX", [POINTER(SDL_RWops)], c_int)
|
|
IMG_isPNG = _bind("IMG_isPNG", [POINTER(SDL_RWops)], c_int)
|
|
IMG_isPNM = _bind("IMG_isPNM", [POINTER(SDL_RWops)], c_int)
|
|
IMG_isTIF = _bind("IMG_isTIF", [POINTER(SDL_RWops)], c_int)
|
|
IMG_isXCF = _bind("IMG_isXCF", [POINTER(SDL_RWops)], c_int)
|
|
IMG_isXPM = _bind("IMG_isXPM", [POINTER(SDL_RWops)], c_int)
|
|
IMG_isXV = _bind("IMG_isXV", [POINTER(SDL_RWops)], c_int)
|
|
IMG_isWEBP = _bind("IMG_isWEBP", [POINTER(SDL_RWops)], c_int)
|
|
|
|
IMG_LoadICO_RW = _bind("IMG_LoadICO_RW", [POINTER(SDL_RWops)], POINTER(SDL_Surface))
|
|
IMG_LoadCUR_RW = _bind("IMG_LoadCUR_RW", [POINTER(SDL_RWops)], POINTER(SDL_Surface))
|
|
IMG_LoadBMP_RW = _bind("IMG_LoadBMP_RW", [POINTER(SDL_RWops)], POINTER(SDL_Surface))
|
|
IMG_LoadGIF_RW = _bind("IMG_LoadGIF_RW", [POINTER(SDL_RWops)], POINTER(SDL_Surface))
|
|
IMG_LoadJPG_RW = _bind("IMG_LoadJPG_RW", [POINTER(SDL_RWops)], POINTER(SDL_Surface))
|
|
IMG_LoadLBM_RW = _bind("IMG_LoadLBM_RW", [POINTER(SDL_RWops)], POINTER(SDL_Surface))
|
|
IMG_LoadPCX_RW = _bind("IMG_LoadPCX_RW", [POINTER(SDL_RWops)], POINTER(SDL_Surface))
|
|
IMG_LoadPNG_RW = _bind("IMG_LoadPNG_RW", [POINTER(SDL_RWops)], POINTER(SDL_Surface))
|
|
IMG_LoadPNM_RW = _bind("IMG_LoadPNM_RW", [POINTER(SDL_RWops)], POINTER(SDL_Surface))
|
|
IMG_LoadTGA_RW = _bind("IMG_LoadTGA_RW", [POINTER(SDL_RWops)], POINTER(SDL_Surface))
|
|
IMG_LoadTIF_RW = _bind("IMG_LoadTIF_RW", [POINTER(SDL_RWops)], POINTER(SDL_Surface))
|
|
IMG_LoadXCF_RW = _bind("IMG_LoadXCF_RW", [POINTER(SDL_RWops)], POINTER(SDL_Surface))
|
|
IMG_LoadXPM_RW = _bind("IMG_LoadXPM_RW", [POINTER(SDL_RWops)], POINTER(SDL_Surface))
|
|
IMG_LoadXV_RW = _bind("IMG_LoadXV_RW", [POINTER(SDL_RWops)], POINTER(SDL_Surface))
|
|
IMG_LoadWEBP_RW = _bind("IMG_LoadWEBP_RW", [POINTER(SDL_RWops)], POINTER(SDL_Surface))
|
|
|
|
IMG_ReadXPMFromArray = _bind("IMG_ReadXPMFromArray", [POINTER(c_char_p)], POINTER(SDL_Surface))
|
|
|
|
IMG_SavePNG = _bind("IMG_SavePNG", [POINTER(SDL_Surface), c_char_p], c_int)
|
|
IMG_SavePNG_RW = _bind("IMG_SavePNG_RW", [POINTER(SDL_Surface), POINTER(SDL_RWops), c_int], c_int)
|
|
|
|
IMG_SetError = SDL_SetError
|
|
IMG_GetError = SDL_GetError
|