Module sdl_image

sdl_image.nim

A simple library to load images of various formats as SDL surfaces.

Consts

MAJOR_VERSION = 2
MINOR_VERSION = 0
PATCHLEVEL = 1
INIT_JPG = 0x00000001
INIT_PNG = 0x00000002
INIT_TIF = 0x00000004
INIT_WEBP = 0x00000008

Procs

proc linkedVersion(): ptr Version {.
cdecl, importc: "IMG_Linked_Version", dynlib: SDL2_IMG_LIB
.}
This procedure gets the version of the dynamically linked SDL_image library. It should NOT be used to fill a version structure, instead you should use the version() template.
proc init(flags: cint): cint {.
cdecl, importc: "IMG_Init", dynlib: SDL2_IMG_LIB
.}

Loads dynamic libraries and prepares them for use.

flags should be one or more flags from InitFlags OR'd together.

Return the flags successfully initialized, or 0 on failure.

proc quit() {.
cdecl, importc: "IMG_Quit", dynlib: SDL2_IMG_LIB
.}
Unloads libraries loaded with init().
proc loadTyped_RW(src: ptr RWops; freesrc: cint; kind: cstring): Surface {.
cdecl, importc: "IMG_LoadTyped_RW", dynlib: SDL2_IMG_LIB
.}

Load an image from an SDL data source.

kind may be one of: "BMP", "GIF", "PNG", etc.

If the image format supports a transparent pixel, SDL will set the colorkey for the surface. You can enable RLE acceleration on the surface afterwards by calling:

setColorKey(image, RLEACCEL, image.format.colorkey)
proc load(file: cstring): Surface {.
cdecl, importc: "IMG_Load", dynlib: SDL2_IMG_LIB
.}
proc load_RW(src: ptr RWops; freesrc: cint): Surface {.
cdecl, importc: "IMG_Load_RW", dynlib: SDL2_IMG_LIB
.}
proc loadTexture(renderer: Renderer; file: cstring): ptr Texture {.
cdecl, importc: "IMG_LoadTexture", dynlib: SDL2_IMG_LIB
.}
proc loadTexture_RW(renderer: Renderer; src: ptr RWops; freesrc: cint): Texture {.
cdecl, importc: "IMG_LoadTexture_RW", dynlib: SDL2_IMG_LIB
.}
proc loadTextureTyped_RW(renderer: Renderer; src: ptr RWops; freesrc: cint;
                        kind: cstring): Texture {.
cdecl, importc: "IMG_LoadTextureTyped_RW", dynlib: SDL2_IMG_LIB
.}
proc isICO(src: ptr RWops): cint {.
cdecl, importc: "IMG_isICO", dynlib: SDL2_IMG_LIB
.}
proc isCUR(src: ptr RWops): cint {.
cdecl, importc: "IMG_isCUR", dynlib: SDL2_IMG_LIB
.}
proc isBMP(src: ptr RWops): cint {.
cdecl, importc: "IMG_isBMP", dynlib: SDL2_IMG_LIB
.}
proc isGIF(src: ptr RWops): cint {.
cdecl, importc: "IMG_isGIF", dynlib: SDL2_IMG_LIB
.}
proc isJPG(src: ptr RWops): cint {.
cdecl, importc: "IMG_isJPG", dynlib: SDL2_IMG_LIB
.}
proc isLBM(src: ptr RWops): cint {.
cdecl, importc: "IMG_isLBM", dynlib: SDL2_IMG_LIB
.}
proc isPCX(src: ptr RWops): cint {.
cdecl, importc: "IMG_isPCX", dynlib: SDL2_IMG_LIB
.}
proc isPNG(src: ptr RWops): cint {.
cdecl, importc: "IMG_isPNG", dynlib: SDL2_IMG_LIB
.}
proc isPNM(src: ptr RWops): cint {.
cdecl, importc: "IMG_isPNM", dynlib: SDL2_IMG_LIB
.}
proc isTIF(src: ptr RWops): cint {.
cdecl, importc: "IMG_isTIF", dynlib: SDL2_IMG_LIB
.}
proc isXCF(src: ptr RWops): cint {.
cdecl, importc: "IMG_isXCF", dynlib: SDL2_IMG_LIB
.}
proc isXPM(src: ptr RWops): cint {.
cdecl, importc: "IMG_isXPM", dynlib: SDL2_IMG_LIB
.}
proc isXV(src: ptr RWops): cint {.
cdecl, importc: "IMG_isXV", dynlib: SDL2_IMG_LIB
.}
proc isWEBP(src: ptr RWops): cint {.
cdecl, importc: "IMG_isWEBP", dynlib: SDL2_IMG_LIB
.}
proc loadICO_RW(src: ptr RWops): Surface {.
cdecl, importc: "IMG_LoadICO_RW", dynlib: SDL2_IMG_LIB
.}
proc loadCUR_RW(src: ptr RWops): Surface {.
cdecl, importc: "IMG_LoadCUR_RW", dynlib: SDL2_IMG_LIB
.}
proc loadBMP_RW(src: ptr RWops): Surface {.
cdecl, importc: "IMG_LoadBMP_RW", dynlib: SDL2_IMG_LIB
.}
proc loadGIF_RW(src: ptr RWops): Surface {.
cdecl, importc: "IMG_LoadGIF_RW", dynlib: SDL2_IMG_LIB
.}
proc loadJPG_RW(src: ptr RWops): Surface {.
cdecl, importc: "IMG_LoadJPG_RW", dynlib: SDL2_IMG_LIB
.}
proc loadLBM_RW(src: ptr RWops): Surface {.
cdecl, importc: "IMG_LoadLBM_RW", dynlib: SDL2_IMG_LIB
.}
proc loadPCX_RW(src: ptr RWops): Surface {.
cdecl, importc: "IMG_LoadPCX_RW", dynlib: SDL2_IMG_LIB
.}
proc loadPNG_RW(src: ptr RWops): Surface {.
cdecl, importc: "IMG_LoadPNG_RW", dynlib: SDL2_IMG_LIB
.}
proc loadPNM_RW(src: ptr RWops): Surface {.
cdecl, importc: "IMG_LoadPNM_RW", dynlib: SDL2_IMG_LIB
.}
proc loadTGA_RW(src: ptr RWops): Surface {.
cdecl, importc: "IMG_LoadTGA_RW", dynlib: SDL2_IMG_LIB
.}
proc loadTIF_RW(src: ptr RWops): Surface {.
cdecl, importc: "IMG_LoadTIF_RW", dynlib: SDL2_IMG_LIB
.}
proc loadXCF_RW(src: ptr RWops): Surface {.
cdecl, importc: "IMG_LoadXCF_RW", dynlib: SDL2_IMG_LIB
.}
proc loadXPM_RW(src: ptr RWops): Surface {.
cdecl, importc: "IMG_LoadXPM_RW", dynlib: SDL2_IMG_LIB
.}
proc loadXV_RW(src: ptr RWops): Surface {.
cdecl, importc: "IMG_LoadXV_RW", dynlib: SDL2_IMG_LIB
.}
proc loadWEBP_RW(src: ptr RWops): Surface {.
cdecl, importc: "IMG_LoadWEBP_RW", dynlib: SDL2_IMG_LIB
.}
proc readXPMFromArray(xpm: cstringArray): Surface {.
cdecl, importc: "IMG_ReadXPMFromArray", dynlib: SDL2_IMG_LIB
.}
proc savePNG(surface: Surface; file: cstring): cint {.
cdecl, importc: "IMG_SavePNG", dynlib: SDL2_IMG_LIB
.}
proc savePNG_RW(surface: Surface; dst: ptr RWops; freedst: cint): cint {.
cdecl, importc: "IMG_SavePNG_RW", dynlib: SDL2_IMG_LIB
.}

Templates

template setError(fmt: untyped): cint
template getError(): cstring