sdlLoadJpgIo function surface

Pointer<SdlSurface> sdlLoadJpgIo(
  1. Pointer<SdlIoStream> src,
  2. bool closeio
)

Load a JPEG 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 libjpeg 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.6.0.

\sa SDL_DestroySurface \sa SDL_LoadJPG

extern SDL_DECLSPEC SDL_Surface * SDLCALL SDL_LoadJPG_IO(SDL_IOStream *src, bool closeio)

Implementation

Pointer<SdlSurface> sdlLoadJpgIo(Pointer<SdlIoStream> src, bool closeio) {
  final sdlLoadJpgIoLookupFunction = _libSdl
      .lookupFunction<
        Pointer<SdlSurface> Function(Pointer<SdlIoStream> src, Uint8 closeio),
        Pointer<SdlSurface> Function(Pointer<SdlIoStream> src, int closeio)
      >('SDL_LoadJPG_IO');
  return sdlLoadJpgIoLookupFunction(src, closeio ? 1 : 0);
}