SDL_BlitSurface9Grid(3)

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

SYNOPSIS
#include <SDL3/SDL_surface.h>

bool SDL_BlitSurface9Grid(SDL_Surface *src, const SDL_Rect *srcrect, int left_width, int right_width, int top_height, int bottom_height, float scale, SDL_ScaleMode scaleMode, SDL_Surface *dst, const SDL_Rect *dstrect);

DESCRIPTION
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.

FUNCTION 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
for more information.

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

AVAILABILITY
This function is available since SDL 3.2.0.

SEE ALSO
SDL_BlitSurface(3)