imgGetAnimationDecoderFrame function image
- Pointer<ImgAnimationDecoder> decoder,
- Pointer<Pointer< frame,SdlSurface> >
- Pointer<Uint64> duration
Get the next frame in an animation decoder.
This function decodes the next frame in the animation decoder, returning it as an SDL_Surface. The returned surface should be freed with SDL_FreeSurface() when no longer needed.
If the animation decoder has no more frames or an error occurred while decoding the frame, this function returns false. In that case, please call SDL_GetError() for more information. If SDL_GetError() returns an empty string, that means there are no more available frames. If SDL_GetError() returns a valid string, that means the decoding failed.
\param decoder the animation decoder.
\param frame a pointer filled in with the SDL_Surface for the next frame in
the animation.
\param duration the duration of the frame, usually in milliseconds but can
be other units if the
IMG_PROP_ANIMATION_DECODER_CREATE_TIMEBASE_DENOMINATOR_NUMBER
property is set when creating the decoder.
\returns true on success or false on failure and when no more frames are
available; call IMG_GetAnimationDecoderStatus() or SDL_GetError()
for more information.
\since This function is available since SDL_image 3.4.0.
\sa IMG_CreateAnimationDecoder \sa IMG_CreateAnimationDecoder_IO \sa IMG_CreateAnimationDecoderWithProperties \sa IMG_GetAnimationDecoderStatus \sa IMG_ResetAnimationDecoder \sa IMG_CloseAnimationDecoder
extern SDL_DECLSPEC bool SDLCALL IMG_GetAnimationDecoderFrame(IMG_AnimationDecoder *decoder, SDL_Surface **frame, Uint64 *duration)
Implementation
bool imgGetAnimationDecoderFrame(
  Pointer<ImgAnimationDecoder> decoder,
  Pointer<Pointer<SdlSurface>> frame,
  Pointer<Uint64> duration,
) {
  final imgGetAnimationDecoderFrameLookupFunction = _libImage
      .lookupFunction<
        Uint8 Function(
          Pointer<ImgAnimationDecoder> decoder,
          Pointer<Pointer<SdlSurface>> frame,
          Pointer<Uint64> duration,
        ),
        int Function(
          Pointer<ImgAnimationDecoder> decoder,
          Pointer<Pointer<SdlSurface>> frame,
          Pointer<Uint64> duration,
        )
      >('IMG_GetAnimationDecoderFrame');
  return imgGetAnimationDecoderFrameLookupFunction(decoder, frame, duration) ==
      1;
}