XDrawRectangle(display, d, gc, x, y, width, height)
      Display *display;
      Drawable d;
      GC gc;
      int x, y;
      unsigned int width, height;


display Specifies the connection to the X server.
d Specifies the drawable.
gc Specifies the GC.
Specify the x and y coordinates, which specify the upper-left corner of the rectangle.
Specify the width and height, which specify the dimensions of the rectangle.


The XDrawRectangle() function draws the outlines of the specified rectangle as if a five-point PolyLine protocol request were specified for the rectangle:

[x,y] [x+width,y] [x+width,y+height] [x,y+height] [x,y]

For the specified rectangle, this function does not draw a pixel more than once.

This function uses 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. It also uses these GC mode-dependent components: foreground, background, tile, stipple, tile-stipple-x-origin, tile-stipple-y-origin, dash-offset, and dash-list.

XDrawRectangle() can generate BadDrawable , BadGC , and BadMatch errors.


BadDrawable A value for a Drawable argument does not name a defined Window or Pixmap.
BadGC A value for a GContext argument does not name a defined GContext.
BadMatch An InputOnly window is used as a Drawable.
BadMatch 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(), XDrawRectangles(), XDrawPoint(), "Drawing Single and Multiple Rectangles".
Christophe Tronche, [email protected]