imgSaveTypedIo function image
- Pointer<
SdlSurface> surface, - Pointer<
SdlIoStream> dst, - bool closeio,
- String? type,
Save an SDL_Surface into formatted image data, via an SDL_IOStream.
If you just want to save to a filename, you can use IMG_Save() instead.
If closeio
is true, dst
will be closed before returning, whether this
function succeeds or not.
For formats that accept a quality, a default quality of 90 will be used.
\param surface the SDL surface to save. \param dst the SDL_IOStream to save the image data to. \param closeio true to close/free the SDL_IOStream before returning, false to leave it open. \param type a filename extension that represent this data ("BMP", "GIF", "PNG", etc). \returns true on success or false on failure; call SDL_GetError() for more information.
\since This function is available since SDL_image 3.4.0.
\sa IMG_Save \sa IMG_SaveAVIF_IO \sa IMG_SaveBMP_IO \sa IMG_SaveGIF_IO \sa IMG_SaveJPG_IO \sa IMG_SavePNG_IO \sa IMG_SaveTGA_IO \sa IMG_SaveWEBP_IO
extern SDL_DECLSPEC bool SDLCALL IMG_SaveTyped_IO(SDL_Surface *surface, SDL_IOStream *dst, bool closeio, const char *type)
Implementation
bool imgSaveTypedIo(
Pointer<SdlSurface> surface,
Pointer<SdlIoStream> dst,
bool closeio,
String? type,
) {
final imgSaveTypedIoLookupFunction = _libImage
.lookupFunction<
Uint8 Function(
Pointer<SdlSurface> surface,
Pointer<SdlIoStream> dst,
Uint8 closeio,
Pointer<Utf8> type,
),
int Function(
Pointer<SdlSurface> surface,
Pointer<SdlIoStream> dst,
int closeio,
Pointer<Utf8> type,
)
>('IMG_SaveTyped_IO');
final typePointer = type != null ? type.toNativeUtf8() : nullptr;
final result =
imgSaveTypedIoLookupFunction(
surface,
dst,
closeio ? 1 : 0,
typePointer,
) ==
1;
calloc.free(typePointer);
return result;
}