sdlxFillSurfaceRects function surface
Perform a fast fill of a set of rectangles with a specific color.
color should be a pixel of the format used by the surface, and can be
generated by SDL_MapRGB() or SDL_MapRGBA(). If the color value contains an
alpha component then the destination is simply filled with that alpha
information, no blending takes place.
If there is a clip rectangle set on the destination (set via
SDL_SetSurfaceClipRect()), then this function will fill based on the
intersection of the clip rectangle and rect.
\param dst the SDL_Surface structure that is the drawing target. \param rects an array of SDL_Rects representing the rectangles to fill. \param count the number of rectangles in the array. \param color the color to fill with. \returns true on success or false on failure; call SDL_GetError() for more information.
\threadsafety This function can be called on different threads with different surfaces.
\since This function is available since SDL 3.2.0.
\sa SDL_FillSurfaceRect
extern SDL_DECLSPEC bool SDLCALL SDL_FillSurfaceRects(SDL_Surface *dst, const SDL_Rect *rects, int count, Uint32 color)
See also:
Implementation
bool sdlxFillSurfaceRects(
Pointer<SdlSurface> dst,
List<SdlxRect> rects,
int color,
) {
final count = rects.length;
final rectsPointer = ffi.calloc<SdlRect>(count);
for (var i = 0; i < count; i++) {
final _ = rectsPointer[i]
..x = rects[i].x
..y = rects[i].y
..w = rects[i].w
..h = rects[i].h;
}
final result = sdlFillSurfaceRects(dst, rectsPointer, count, color);
rectsPointer.callocFree();
return result;
}