sdlLoadPng function surface
Load a PNG image from a file.
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 file the PNG file to load. \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_IO \sa SDL_SavePNG
extern SDL_DECLSPEC SDL_Surface * SDLCALL SDL_LoadPNG(const char *file)
Implementation
Pointer<SdlSurface> sdlLoadPng(String? file) {
final sdlLoadPngLookupFunction = _libSdl
.lookupFunction<
Pointer<SdlSurface> Function(Pointer<Utf8> file),
Pointer<SdlSurface> Function(Pointer<Utf8> file)
>('SDL_LoadPNG');
final filePointer = file != null ? file.toNativeUtf8() : nullptr;
final result = sdlLoadPngLookupFunction(filePointer);
calloc.free(filePointer);
return result;
}