imgLoadAnimationTypedRw function

Pointer<ImgAnimation> imgLoadAnimationTypedRw(
  1. Pointer<SdlRWops> src,
  2. int freesrc,
  3. String? type
)

Load an animation from an SDL datasource

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.

If freesrc is non-zero, the RWops will be closed before returning, whether this function succeeds or not. SDL_image reads everything it needs from the RWops during this call in any case.

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

\param src an SDL_RWops that data will be read from. \param freesrc non-zero to close/free the SDL_RWops before returning, zero to leave it open. \param type a filename extension that represent this data ("GIF", etc). \returns a new IMG_Animation, or NULL on error.

\since This function is available since SDL_image 2.6.0.

\sa IMG_LoadAnimation \sa IMG_LoadAnimation_RW \sa IMG_FreeAnimation

extern DECLSPEC IMG_Animation * SDLCALL IMG_LoadAnimationTyped_RW(SDL_RWops *src, int freesrc, const char *type)

Implementation

Pointer<ImgAnimation> imgLoadAnimationTypedRw(
    Pointer<SdlRWops> src, int freesrc, String? type) {
  final imgLoadAnimationTypedRwLookupFunction = libSdl2Image.lookupFunction<
      Pointer<ImgAnimation> Function(
          Pointer<SdlRWops> src, Int32 freesrc, Pointer<Utf8> type),
      Pointer<ImgAnimation> Function(Pointer<SdlRWops> src, int freesrc,
          Pointer<Utf8> type)>('IMG_LoadAnimationTyped_RW');
  final typePointer = type != null ? type.toNativeUtf8() : nullptr;
  final result =
      imgLoadAnimationTypedRwLookupFunction(src, freesrc, typePointer);
  calloc.free(typePointer);
  return result;
}