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. | 
|  x y  | Specify the x and y coordinates, which specify the upper-left corner of the rectangle. | 
|  width height  | Specify the width and height, which specify the dimensions of 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. |