XDrawArc()XDrawArc()NameXDrawArc – draw an arc fitting inside a rectangle.
Synopsis
XDrawArc(display, drawable, gc, x, y, width, height,
angle1, angle2)
Display *display;
Drawable drawable;
GC gc;
int x, y;
unsigned int width, height;
int angle1, angle2;
Arguments
display Specifies a connection to an X server; returned from
XOpenDisplay().
drawable Specifies the drawable.
gc Specifies the graphics context.
x Specify the x and y coordinates of the upper-left corner of
y the rectangle that contains the arc, relative to the origin
of the specified drawable.
width Specify the width and height in pixels of the major and minor
height axes of the arc.
angle1 Specifies the start of the arc relative to the three-o'clock
position from the center. Angles are specified in 64ths of a
degree (360 * 64 is a complete circle).
angle2 Specifies the end of the arc relative to the start of the
arc. Angles are specified in 64ths of a degree (360 * 64 is
a complete circle).
DescriptionXDrawArc() draws a circular or elliptical arc. An arc is specified by
a rectangle and two angles. The x and y coordinates are relative to
the origin of the drawable, and define the upper-left corner of the
rectangle. The center of the circle or ellipse is the center of the
rectangle, and the major and minor axes are specified by the width and
height, respectively. The angles are signed integers in 64ths of a
degree, with positive values indicating counterclockwise motion and
negative values indicating clockwise motion, truncated to a maximum of
360 degrees. The start of the arc is specified by angle1 relative to
the three-o'clock position from the center, and the path and extent of
the arc is specified by angle2 relative to the start of the arc.
By specifying one axis to be zero, a horizontal or vertical line is
drawn (inefficiently).
Angles are computed based solely on the coordinate system and ignore
the aspect ratio. In other words, if the bounding rectangle of the arc
is not square and angle1 is zero and angle2 is (45x64), a point drawn
from the center of the bounding box through the endpoint of the arc
will pass through the corner of the rectangle.
For any given arc, no pixel is drawn more than once, even if angle2 is
greater than angle1 by more than 360 degrees. See XDrawArcs() for a
detailed description of the pixels drawn by XDrawArc().
XDrawArc() uses these graphics context 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. This
function also uses these graphics context mode-dependent components:
foreground, background, tile, stipple, ts_x_origin, ts_y_origin,
dash_offset, and dashes.
For more information, see Volume One, Chapter 6, Drawing Graphics and
Text.
Errors
BadDrawable
BadGC
BadMatch
See AlsoXClearArea(), XClearWindow(), XCopyArea(), XCopyPlane(), XDraw,
XDrawArcs(), XDrawFilled(), XDrawLine(), XDrawLines(), XDrawPoint(),
XDrawPoints(), XDrawRectangle(), XDrawRectangles(), XDrawSegments(),
XFillArc(), XFillArcs(), XFillPolygon(), XFillRectangle(), XFillRectan‐
gles().
Xlib - Drawing Primitives XDrawArc()