sdlBlitSurfaceTiledWithScale function surface

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

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

The pixels in srcrect will be scaled and repeated as many times as needed to completely fill dstrect.

\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 scale the scale used to transform srcrect into the destination rectangle, e.g. a 32x32 texture with a scale of 2 would fill 64x64 tiles. \param scaleMode scale algorithm to be used. \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 surface. \returns true on success or false on failure; call SDL_GetError() for more information.

\threadsafety Only one thread should be using the src and dst surfaces at any given time.

\since This function is available since SDL 3.2.0.

\sa SDL_BlitSurface

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

Implementation

bool sdlBlitSurfaceTiledWithScale(
  Pointer<SdlSurface> src,
  Pointer<SdlRect> srcrect,
  double scale,
  int scaleMode,
  Pointer<SdlSurface> dst,
  Pointer<SdlRect> dstrect,
) {
  final sdlBlitSurfaceTiledWithScaleLookupFunction = _libSdl
      .lookupFunction<
        Uint8 Function(
          Pointer<SdlSurface> src,
          Pointer<SdlRect> srcrect,
          Float scale,
          Int32 scaleMode,
          Pointer<SdlSurface> dst,
          Pointer<SdlRect> dstrect,
        ),
        int Function(
          Pointer<SdlSurface> src,
          Pointer<SdlRect> srcrect,
          double scale,
          int scaleMode,
          Pointer<SdlSurface> dst,
          Pointer<SdlRect> dstrect,
        )
      >('SDL_BlitSurfaceTiledWithScale');
  return sdlBlitSurfaceTiledWithScaleLookupFunction(
        src,
        srcrect,
        scale,
        scaleMode,
        dst,
        dstrect,
      ) ==
      1;
}