XDrawRectangles.3.gz

XDrawRectangle

NAME

XDrawRectangle, XDrawRectangles, XRectangle - draw rectangles and rectangles structure

SYNTAX

int XDrawRectangle\^(\^Display *display\^, Drawable d\^, GC gc\^, int x\^, int y\^, unsigned int width\^, unsigned int height\^);
int XDrawRectangles\^(\^Display *display\^, Drawable d\^, GC gc\^, XRectangle rectangles\^[\^]\^, int nrectangles\^);

ARGUMENTS

d Specifies the drawable.
display Specifies the connection to the X server.
gc Specifies the GC.
nrectangles Specifies the number of rectangles in the array.
rectangles Specifies an array of rectangles.
width
height Specify the width and height.
x
y Specify the x and y coordinates.

DESCRIPTION

The and functions draw the outlines of the specified rectangle or rectangles as if a five-point protocol request were specified for each rectangle:
[x,y] [x+width,y] [x+width,y+height] [x,y+height] [x,y]
For the specified rectangle or rectangles, these functions do not draw a pixel more than once. draws the rectangles in the order listed in the array. If rectangles intersect, the intersecting pixels are drawn multiple times.
Both functions use these GC components: function, plane-mask, line-width, line-style, cap-style, join-style, fill-style, subwindow-mode, clip-x-origin, clip-y-origin, and clip-mask. They also use these GC mode-dependent components: foreground, background, tile, stipple, tile-stipple-x-origin, tile-stipple-y-origin, dash-offset, and dash-list.
and can generate and errors.

STRUCTURES

The structure contains:
typedef struct { short x, y; unsigned short width, height; } XRectangle;
All x and y members are signed integers. The width and height members are 16-bit unsigned integers. You should be careful not to generate coordinates and sizes out of the 16-bit ranges, because the protocol only has 16-bit fields for these values.

DIAGNOSTICS

A value for a Drawable argument does not name a defined Window or Pixmap.
A value for a GContext argument does not name a defined GContext.
An window is used as a Drawable.
Some argument or pair of arguments has the correct type and range but fails to match in some other way required by the request.

SEE ALSO

XDrawArc(3X11), XDrawLine(3X11), XDrawPoint(3X11)