Function SDL_BlitSurface9Grid

pub unsafe extern "C" fn SDL_BlitSurface9Grid(
    src: *mut SDL_Surface,
    srcrect: *const SDL_Rect,
    left_width: i32,
    right_width: i32,
    top_height: i32,
    bottom_height: i32,
    scale: f32,
    scaleMode: SDL_ScaleMode,
    dst: *mut SDL_Surface,
    dstrect: *const SDL_Rect,
) -> bool
Available on crate feature dep_sdl3 only.
Expand description

Perform a scaled blit using the 9-grid algorithm to a destination surface, which may be of a different format.

The pixels in the source surface are split into a 3x3 grid, using the different corner sizes for each corner, and the sides and center making up the remaining pixels. The corners are then scaled using scale and fit into the corners of the destination rectangle. The sides and center are then stretched into place to cover the remaining destination rectangle.

§Parameters

  • src: the SDL_Surface structure to be copied from.
  • srcrect: the SDL_Rect structure representing the rectangle to be used for the 9-grid, or NULL to use the entire surface.
  • left_width: the width, in pixels, of the left corners in srcrect.
  • right_width: the width, in pixels, of the right corners in srcrect.
  • top_height: the height, in pixels, of the top corners in srcrect.
  • bottom_height: the height, in pixels, of the bottom corners in srcrect.
  • scale: the scale used to transform the corner of srcrect into the corner of dstrect, or 0.0f for an unscaled blit.
  • scaleMode: scale algorithm to be used.
  • dst: the SDL_Surface structure that is the blit target.
  • dstrect: the SDL_Rect structure representing the target rectangle in the destination surface, or NULL to fill the entire surface.

§Return value

Returns true on success or false on failure; call SDL_GetError() for more information.

§Thread safety

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.

§Availability

This function is available since SDL 3.2.0.

§See also