sdlCreateSurfaceFrom function
Allocate a new surface with a specific pixel format and existing pixel data.
No copy is made of the pixel data. Pixel data is not managed automatically; you must free the surface before you free the pixel data.
Pitch is the offset in bytes from one row of pixels to the next, e.g.
width*4
for SDL_PIXELFORMAT_RGBA8888
.
You may pass NULL for pixels and 0 for pitch to create a surface that you will fill in with valid values later.
\param width the width of the surface. \param height the height of the surface. \param format the SDL_PixelFormat for the new surface's pixel format. \param pixels a pointer to existing pixel data. \param pitch the number of bytes between each row, including padding. \returns the new SDL_Surface structure that is created or NULL on failure; call SDL_GetError() for more information.
\since This function is available since SDL 3.1.3.
\sa SDL_CreateSurface \sa SDL_DestroySurface
extern SDL_DECLSPEC SDL_Surface * SDLCALL SDL_CreateSurfaceFrom(int width, int height, SDL_PixelFormat format, void *pixels, int pitch)
Implementation
Pointer<SdlSurface> sdlCreateSurfaceFrom(
int width, int height, int format, Pointer<NativeType> pixels, int pitch) {
final sdlCreateSurfaceFromLookupFunction = libSdl3.lookupFunction<
Pointer<SdlSurface> Function(Int32 width, Int32 height, Int32 format,
Pointer<NativeType> pixels, Int32 pitch),
Pointer<SdlSurface> Function(int width, int height, int format,
Pointer<NativeType> pixels, int pitch)>('SDL_CreateSurfaceFrom');
return sdlCreateSurfaceFromLookupFunction(
width, height, format, pixels, pitch);
}