sdlxFillSurfaceRect function surface

bool sdlxFillSurfaceRect(
  1. Pointer<SdlSurface> dst,
  2. SdlxRect? rect,
  3. int color
)

Perform a fast fill of a rectangle 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 rect the SDL_Rect structure representing the rectangle to fill, or NULL to fill the entire surface. \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_FillSurfaceRects

extern SDL_DECLSPEC bool SDLCALL SDL_FillSurfaceRect(SDL_Surface *dst, const SDL_Rect *rect, Uint32 color)

Implementation

bool sdlxFillSurfaceRect(Pointer<SdlSurface> dst, SdlxRect? rect, int color) {
  Pointer<SdlRect> rectPointer = nullptr;
  if (rect != null) {
    rectPointer = rect.calloc();
  }
  final result = sdlFillSurfaceRect(dst, rectPointer, color);
  if (rectPointer != nullptr) {
    rectPointer.callocFree();
  }
  return result;
}