XFillPolygon(display, d, gc, points, npoints, shape, mode)
      Display *display;
      Drawable d;
      GC gc;
      XPoint *points;
      int npoints;
      int shape; 
      int mode; 
| display | Specifies the connection to the X server. | 
| d | Specifies the drawable. | 
| gc | Specifies the GC. | 
| points | Specifies an array of points. | 
| npoints | Specifies the number of points in the array. | 
| shape | Specifies a shape that helps the server to improve performance. You can pass Complex, Convex, or Nonconvex. | 
| mode | Specifies the coordinate mode. You can pass CoordModeOrigin or CoordModePrevious. | 
Depending on the specified shape, the following occurs:
The fill-rule of the GC controls the filling behavior of self-intersecting polygons.
This function uses these GC components: function, plane-mask, fill-style, fill-rule, 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, and tile-stipple-y-origin.
XFillPolygon() can generate BadDrawable, BadGC, BadMatch, and BadValue 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. | 
| BadValue | Some numeric value falls outside the range of values accepted by the request. Unless a specific range is specified for an argument, the full range defined by the argument's type is accepted. Any argument defined as a set of alternatives can generate this error. |