Perform a scaled copy using the 9-grid algorithm to the current rendering target at subpixel precision.
Defined in <SDL3/SDL_render.h>
bool SDL_RenderTexture9Grid(SDL_Renderer *renderer, SDL_Texture *texture, const SDL_FRect *srcrect, float left_width, float right_width, float top_height, float bottom_height, float scale, const SDL_FRect *dstrect);
SDL_Renderer * | renderer | the renderer which should copy parts of a texture. |
SDL_Texture * | texture | the source texture. |
const SDL_FRect * | srcrect | the SDL_Rect structure representing the rectangle to be used for the 9-grid, or NULL to use the entire texture. |
float | left_width | the width, in pixels, of the left corners in srcrect . |
float | right_width | the width, in pixels, of the right corners in srcrect . |
float | top_height | the height, in pixels, of the top corners in srcrect . |
float | bottom_height | the height, in pixels, of the bottom corners in srcrect . |
float | scale | the scale used to transform the corner of srcrect into the corner of dstrect , or 0.0f for an unscaled copy. |
const SDL_FRect * | dstrect | a pointer to the destination rectangle, or NULL for the entire rendering target. |
(bool) Returns true on success or false on failure; call SDL_GetError() for more information.
The pixels in the texture 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.
You may only call this function from the main thread.
This function is available since SDL 3.1.3.