NAME
XFillRectangles − fill multiple rectangular areas.
Synopsis
XFillRectangles(display, drawable, gc, rectangles, nrectangles)
Display *display;
Drawable drawable;
GC gc;
XRectangle *rectangles;
int nrectangles;
Arguments
displaySpecifies a connection to an X server; returned from XOpenDisplay().
drawableSpecifies the drawable.
gcSpecifies the graphics context.
rectangles
Specifies a pointer to an array of rectangles.
nrectangles
Specifies the number of rectangles in the array.
Description
XFillRectangles() fills multiple rectangular areas in the specified drawable using the graphics context. The x and y coordinates of each rectangle are relative to the drawable’s origin, and define the upper left corner of the rectangle. The rectangles are drawn in the order listed. For any given rectangle, no pixel is drawn more than once. If rectangles intersect, the intersecting pixels will be drawn multiple times. In R4 and earlier there is a limit to the number of rectangles that can be drawn in a single call, based on the maximum request size, which varies according to the server. In R5, Xlib chops your call into as many protocol requests as required. To determine how many rectangles you can draw in a single call in R4, find out your server’s maximum request size using XMaxRequestSize(). Subtract 3 and divide by two, and this is the maximum number of rectangles you can fill in a single XDrawRectangles() call. XFillRectangles() uses these graphics context components: function, plane_mask, fill_style, subwindow_mode, clip_x_origin, clip_y_origin, and clip_ mask. This function also uses these graphics context components depending on the fill_ style: foreground, background, tile, stipple, ts_x_origin, and ts_y_ origin. For more information, see Volume One, Chapter 6, Drawing Graphics and Text, and Chapter 5, The Graphics Context.
Structures
typedef struct {
short x, y;
unsigned short width, height;
} XRectangle;
Errors
BadDrawable
BadGC
BadMatch
See Also
XClearArea(), XClearWindow(), XCopyArea(), XCopyPlane(), XDraw, XDrawArc(), XDrawArcs(), XDrawFilled(), XDrawLine(), XDrawLines(), XDrawPoint(), XDrawPoints(), XDrawRectangle(), XDrawRectangles(), XDrawSegments(), XFillArc(), XFillArcs(), XFillPolygon(), XFillRectangle(), XFillRectangles().
Copyright O’Reilly & Assoc. —