NAME
XFillRectangle, XFillRectangles, XFillPolygon, XFillArc, XFillArcs - fill
rectangles, polygons, or arcs
SYNTAX
int
XFillRectangle(Display * display, Drawable d, GC gc, int
x, int y, unsigned int width, unsigned int
height);
int
XFillRectangles(Display * display, Drawable d, GC gc,
XRectangle * rectangles, int nrectangles);
int
XFillPolygon(Display * display, Drawable d, GC gc, XPoint
* points, int npoints, int shape, int mode);
int
XFillArc(Display * display, Drawable d, GC gc, int
x, int y, unsigned int width, unsigned int height,
int angle1, int angle2);
int
XFillArcs(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.
- angle2
- Specifies the path and extent of the arc relative to the
start of the arc, in units of degrees * 64.
- arcs
- Specifies 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 an array of points.
- rectangles
- Specifies an array of rectangles.
- shape
- Specifies a shape that helps the server to improve
performance. You can pass Complex, Convex, or
Nonconvex. or the major and minor axes of the arc
- width
-
- height
- Specify the width and height, which are the dimensions of
the rectangle to be filled . and specify the upper-left corner of
the rectangle
- x
-
- y
- Specify the x and y coordinates, which are relative to the
origin of the drawable .
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 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.
Note that contiguous coincident points in the path are not treated as
self-intersection.
- •
- If shape is Convex, for every pair of points inside
the polygon, the line segment connecting them does not intersect the path.
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.
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(3), XDrawPoint(3), XDrawRectangle(3)
Xlib - C Language X Interface