Fill an area of a specified buffer


#include <screen/screen.h>
int screen_fill(screen_context_t ctx,
                screen_buffer_t dst,
                const int *attribs)


A connection to Screen
The buffer which data is copied to.
A list that contains the attributes that define the blit. This list must consist of a series of token-value pairs terminated with a SCREEN_BLIT_END token. The tokens used in this list must be of type Screen blit types.




Function Type: Delayed Execution

This function requests that a rectangular area of the destination buffer be filled with a solid color. Note that this fill operation may not execute immediately; therefore, you could still encounter an error when you actually trigger the fill operation despite the call to this function having returned successfully.

The attribs argument is allowed to be NULL or empty (i.e. contains a single element that is set to SCREEN_BLIT_END). If attribs is empty, then the following defaults are applied:
  • the destination rectangle's vertical and horizontal positions are 0
  • the destination rectangle includes the entire destination buffer
  • the global alpha value is 255 (or opaque)
  • the color is #ffffff (white)
To change any of this default behavior, set attribs with pairings of the following valid tokens and their desired values:


0 if successful, or -1 if an error occurred (errno is set; refer to errno.h for more details).