sdlBlitSurfaceScaled function

bool sdlBlitSurfaceScaled(
  1. Pointer<SdlSurface> src,
  2. Pointer<SdlRect> srcrect,
  3. Pointer<SdlSurface> dst,
  4. Pointer<SdlRect> dstrect,
  5. int scaleMode,
)

Perform a scaled blit to a destination surface, which may be of a different format.

\param src the SDL_Surface structure to be copied from. \param srcrect the SDL_Rect structure representing the rectangle to be copied, or NULL to copy the entire surface. \param dst the SDL_Surface structure that is the blit target. \param dstrect the SDL_Rect structure representing the target rectangle in the destination surface, or NULL to fill the entire destination surface. \param scaleMode the SDL_ScaleMode to be used. \returns true on success or false on failure; call SDL_GetError() for more information.

\threadsafety The same destination surface should not be used from two threads at once. It is safe to use the same source surface from multiple threads.

\since This function is available since SDL 3.1.3.

\sa SDL_BlitSurface

extern SDL_DECLSPEC bool SDLCALL SDL_BlitSurfaceScaled(SDL_Surface *src, const SDL_Rect *srcrect, SDL_Surface *dst, const SDL_Rect *dstrect, SDL_ScaleMode scaleMode)

Implementation

bool sdlBlitSurfaceScaled(Pointer<SdlSurface> src, Pointer<SdlRect> srcrect,
    Pointer<SdlSurface> dst, Pointer<SdlRect> dstrect, int scaleMode) {
  final sdlBlitSurfaceScaledLookupFunction = libSdl3.lookupFunction<
      Uint8 Function(Pointer<SdlSurface> src, Pointer<SdlRect> srcrect,
          Pointer<SdlSurface> dst, Pointer<SdlRect> dstrect, Int32 scaleMode),
      int Function(
          Pointer<SdlSurface> src,
          Pointer<SdlRect> srcrect,
          Pointer<SdlSurface> dst,
          Pointer<SdlRect> dstrect,
          int scaleMode)>('SDL_BlitSurfaceScaled');
  return sdlBlitSurfaceScaledLookupFunction(
          src, srcrect, dst, dstrect, scaleMode) ==
      1;
}