---
name: "SDL_BlitSurface9Grid"
section: "3"
platform: "linux"
package: "libsdl3-doc"
version: "3.2.10+ds-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/SDL_BlitSurface9Grid"
---

# SDL\_BlitSurface9Grid(3)

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

## NAME

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

## HEADER FILE

Defined in SDL3/SDL\_surface.h

## SYNOPSIS

```
#include "SDL3/SDL.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

Returns true on success or false on failure; call

**SDL\_GetError** () 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

**•**(3), [**SDL\_BlitSurface**(3)](/SDL_BlitSurface/3.md)
