Provided by: libsdl3-image-doc_3.2.4+ds-1_all bug

NAME

       IMG_LoadTyped_IO - Load an image from an SDL data source into a software surface.

HEADER FILE

       Defined in SDL3_image/SDL_image.h

SYNOPSIS

       #include "SDL3_image/SDL_image.h"

       SDL_Surface * IMG_LoadTyped_IO(SDL_IOStream *src, bool closeio, const char *type);

DESCRIPTION

       An  SDL_Surface  is  a buffer of pixels in memory accessible by the CPU. Use this if you plan to hand the
       data to something else or manipulate it further in code.

       There are no guarantees about what format the new SDL_Surface data will be; in many cases, SDL_image will
       attempt to supply a surface that exactly matches the provided image, but  in  others  it  might  have  to
       convert  (either  because  the  image  is  in  a format that SDL doesn't directly support or because it's
       compressed data that could reasonably uncompress to various formats and SDL_image had to pick  one).  You
       can inspect an SDL_Surface for its specifics, and use SDL_ConvertSurface to then migrate to any supported
       format.

       If  the  image  format  supports  a transparent pixel, SDL will set the colorkey for the surface. You can
       enable RLE acceleration on the surface afterwards by calling: SDL_SetSurfaceColorKey(image, SDL_RLEACCEL,
       image->format->colorkey);

       If closeio is true, src will be closed before returning, whether this function succeeds or not. SDL_image
       reads everything it needs from src during this call in any case.

       Even though this function accepts a file type, SDL_image may still try other decoders that are capable of
       detecting file type from the contents of the image data, but may rely on the caller-provided type  string
       for  formats  that  it  cannot  autodetect. If type is NULL, SDL_image will rely solely on its ability to
       guess the format.

       There is a separate function  to  read  files  from  disk  without  having  to  deal  with  SDL_IOStream:
       IMG_Load("filename.jpg")  will  call this function and manage those details for you, determining the file
       type from the filename's extension.

       There is also IMG_Load_IO (), which is equivalent to this function except that it will rely on  SDL_image
       to determine what type of data it is loading, much like passing a NULL for type.

       If  you  are  using  SDL's  2D rendering API, there is an equivalent call to load images directly into an
       SDL_Texture for use by the GPU without using a software surface: call IMG_LoadTextureTyped_IO () instead.

       When done with the returned surface, the app should dispose of it with a call to SDL_DestroySurface().

FUNCTION PARAMETERS

       src    an SDL_IOStream that data will be read from.

       closeio
              true to close/free the SDL_IOStream before returning, false to leave it open.

       type   a filename extension that represent this data ("BMP", "GIF", "PNG", etc).

RETURN VALUE

       Returns a new SDL surface, or NULL on error.

AVAILABILITY

       This function is available since SDL_image 3.0.0.

SEE ALSO

       (3), IMG_Load(3), (3), IMG_Load_IO(3), SDL_DestroySurface(3)

SDL_image                                        SDL_image 3.2.4                             IMG_LoadTyped_IO(3)