sdlSaveBmpIo function surface
Save a surface to a seekable SDL data stream in BMP format.
Surfaces with a 24-bit, 32-bit and paletted 8-bit format get saved in the BMP directly. Other RGB formats with 8-bit or higher get converted to a 24-bit surface or, if they have an alpha mask or a colorkey, to a 32-bit surface before they are saved. YUV and paletted 1-bit and 4-bit formats are not supported.
\param surface the SDL_Surface structure containing the image to be saved.
\param dst a data stream to save to.
\param closeio if true, calls SDL_CloseIO() on dst before returning, even
in the case of an error.
\returns true on success or false on failure; call SDL_GetError() for more
information.
\threadsafety This function can be called on different threads with different surfaces.
\since This function is available since SDL 3.2.0.
\sa SDL_LoadBMP_IO \sa SDL_SaveBMP
extern SDL_DECLSPEC bool SDLCALL SDL_SaveBMP_IO(SDL_Surface *surface, SDL_IOStream *dst, bool closeio)
Implementation
bool sdlSaveBmpIo(
Pointer<SdlSurface> surface,
Pointer<SdlIoStream> dst,
bool closeio,
) {
final sdlSaveBmpIoLookupFunction = _libSdl
.lookupFunction<
Uint8 Function(
Pointer<SdlSurface> surface,
Pointer<SdlIoStream> dst,
Uint8 closeio,
),
int Function(
Pointer<SdlSurface> surface,
Pointer<SdlIoStream> dst,
int closeio,
)
>('SDL_SaveBMP_IO');
return sdlSaveBmpIoLookupFunction(surface, dst, closeio ? 1 : 0) == 1;
}