sdlBlitSurfaceUncheckedScaled function

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

Perform low-level surface scaled blitting only.

This is a semi-private function and it performs low-level surface blitting, assuming the input rectangles have already been clipped.

\param src the SDL_Surface structure to be copied from. \param srcrect the SDL_Rect structure representing the rectangle to be copied, may not be NULL. \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, may not be NULL. \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_BlitSurfaceScaled

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

Implementation

bool sdlBlitSurfaceUncheckedScaled(
    Pointer<SdlSurface> src,
    Pointer<SdlRect> srcrect,
    Pointer<SdlSurface> dst,
    Pointer<SdlRect> dstrect,
    int scaleMode) {
  final sdlBlitSurfaceUncheckedScaledLookupFunction = 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_BlitSurfaceUncheckedScaled');
  return sdlBlitSurfaceUncheckedScaledLookupFunction(
          src, srcrect, dst, dstrect, scaleMode) ==
      1;
}