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
: theSDL_Surface
structure to be copied from.srcrect
: theSDL_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 insrcrect
.right_width
: the width, in pixels, of the right corners insrcrect
.top_height
: the height, in pixels, of the top corners insrcrect
.bottom_height
: the height, in pixels, of the bottom corners insrcrect
.scale
: the scale used to transform the corner ofsrcrect
into the corner ofdstrect
, or 0.0f for an unscaled blit.scaleMode
: scale algorithm to be used.dst
: theSDL_Surface
structure that is the blit target.dstrect
: theSDL_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.