XFillRectangle(3X) XFillRectangle(3X)
NAME
XFillRectangle, XFillRectangles, XFillPolygon,
XFillArc, XFillArcs - fill rectangles, polygons, or
arcs
SYNOPSIS
XFillRectangle(display, d, gc, x, y, width, height)
Display *display;
Drawable d;
GC gc;
int x, y;
unsigned int width, height;
XFillRectangles(display, d, gc, rectangles,
nrectangles)
Display *display;
Drawable d;
GC gc;
XRectangle *rectangles;
int nrectangles;
XFillPolygon(display, d, gc, points, npoints, shape,
mode)
Display *display;
Drawable d;
GC gc;
XPoint *points;
int npoints;
int shape;
int mode;
XFillArc(display, d, gc, x, y, width, height, angle1,
angle2)
Display *display;
Drawable d;
GC gc;
int x, y;
unsigned int width, height;
int angle1, angle2;
XFillArcs(display, d, gc, arcs, narcs)
Display *display;
Drawable d;
GC gc;
XArc *arcs;
int narcs;
ARGUMENTS
angle1 Specifies the start of the arc relative to
the three-o'clock position from the center,
in units of degrees * 64.
- 1 -
XFillRectangle(3X) XFillRectangle(3X)
angle2 Specifies the path and extent of the arc
relative to the start of the arc, in units of
degrees * 64.
arcs Specifies a pointer to an array of arcs.
d Specifies the drawable.
display Specifies the connection to the X server.
gc Specifies the GC.
mode Specifies the coordinate mode. You can pass
CoordModeOrigin or CoordModePrevious.
narcs Specifies the number of arcs in the array.
npoints Specifies the number of points in the array.
nrectangles
Specifies the number of rectangles in the
array.
points Specifies a pointer to an array of points.
rectangles
Specifies a pointer to an array of
rectangles.
shape Specifies a shape that helps the server to
improve performance. You can pass Complex,
Convex, or Nonconvex.
width
height Specify the width and height, which are the
dimensions of the rectangle to be filled or
the major and minor axes of the arc.
x
y Specify the x and y coordinates, which are
relative to the origin of the drawable and
specify the upper-left corner of the
rectangle.
DESCRIPTION
The XFillRectangle and XFillRectangles functions fill
the specified rectangle or rectangles as if a four-
point FillPolygon protocol request were specified for
each rectangle:
[x,y] [x+width,y] [x+width,y+height] [x,y+height]
Each function uses the x and y coordinates, width and height
- 2 -
XFillRectangle(3X) XFillRectangle(3X)
dimensions, and GC you specify.
XFillRectangles fills the rectangles in the order
listed in the array. For any given rectangle,
XFillRectangle and XFillRectangles do not draw a pixel
more than once. If rectangles intersect, the
intersecting pixels are drawn multiple times.
Both functions use these GC components: function,
plane-mask, 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, and tile-
stipple-y-origin.
XFillRectangle and XFillRectangles can generate
BadDrawable, BadGC, and BadMatch errors.
XFillPolygon fills the region closed by the specified
path. The path is closed automatically if the last
point in the list does not coincide with the first
point. XFillPolygon does not draw a pixel of the
region more than once. CoordModeOrigin treats all
coordinates as relative to the origin, and
CoordModePrevious treats all coordinates after the
first as relative to the previous point.
Depending on the specified shape, the following occurs:
⊕ If shape is Complex, the path may self-intersect.
⊕ If shape is Convex, the path is wholly convex. If
known by the client, specifying Convex can improve
performance. If you specify Convex for a path that
is not convex, the graphics results are undefined.
⊕ If shape is Nonconvex, the path does not self-
intersect, but the shape is not wholly convex. If
known by the client, specifying Nonconvex instead
of Complex may improve performance. If you specify
Nonconvex for a self-intersecting path, the
graphics results are undefined.
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.
- 3 -
XFillRectangle(3X) XFillRectangle(3X)
XFillPolygon can generate BadDrawable, BadGC, BadMatch,
and BadValue errors.
For each arc, XFillArc or XFillArcs fills the region
closed by the infinitely thin path described by the
specified arc and, depending on the arc-mode specified
in the GC, one or two line segments. For ArcChord, the
single line segment joining the endpoints of the arc is
used. For ArcPieSlice, the two line segments joining
the endpoints of the arc with the center point are
used. XFillArcs fills the arcs in the order listed in
the array. For any given arc, XFillArc and XFillArcs do
not draw a pixel more than once. If regions intersect,
the intersecting pixels are drawn multiple times.
Both functions use these GC components: function,
plane-mask, fill-style, arc-mode, 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, and
tile-stipple-y-origin.
XFillArc and XFillArcs can generate BadDrawable, BadGC,
and BadMatch errors.
DIAGNOSTICS
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.
SEE ALSO
XDrawArc(3X11), XDrawRectangle(3X11)
Xlib Programming Manual
- 4 -