sdlLoadPngIo function surface
Load a PNG image from a seekable SDL data stream.
This is intended as a convenience function for loading images from trusted sources. If you want to load arbitrary images you should use libpng or another image loading library designed with security in mind.
The new surface should be freed with SDL_DestroySurface(). Not doing so will result in a memory leak.
\param src the data stream for the surface.
\param closeio if true, calls SDL_CloseIO() on src before returning, even
in the case of an error.
\returns a pointer to a new SDL_Surface structure or NULL on failure; call
SDL_GetError() for more information.
\threadsafety It is safe to call this function from any thread.
\since This function is available since SDL 3.4.0.
\sa SDL_DestroySurface \sa SDL_LoadPNG \sa SDL_SavePNG_IO
extern SDL_DECLSPEC SDL_Surface * SDLCALL SDL_LoadPNG_IO(SDL_IOStream *src, bool closeio)
Implementation
Pointer<SdlSurface> sdlLoadPngIo(Pointer<SdlIoStream> src, bool closeio) {
final sdlLoadPngIoLookupFunction = _libSdl
.lookupFunction<
Pointer<SdlSurface> Function(Pointer<SdlIoStream> src, Uint8 closeio),
Pointer<SdlSurface> Function(Pointer<SdlIoStream> src, int closeio)
>('SDL_LoadPNG_IO');
return sdlLoadPngIoLookupFunction(src, closeio ? 1 : 0);
}