NAME
XDrawArc — 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
displaySpecifies a connection to an X server; returned from XOpenDisplay().
drawableSpecifies the drawable.
gcSpecifies the graphics context.
x
ySpecify the x and y coordinates of the upper-left corner of the rectangle that contains the arc, relative to the origin of the specified drawable.
width
heightSpecify the width and height in pixels of the major and minor axes of the arc.
angle1Specifies 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).
angle2Specifies 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).
DESCRIPTION
XDrawArc() 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 not 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 ALSO
XClearArea(), XClearWindow(), XCopyArea(), XCopyPlane(), XDraw, XDrawArcs(), XDrawFilled(), XDrawLine(), XDrawLines(), XDrawPoint(), XDrawPoints(), XDrawRectangle(), XDrawRectangles(), XDrawSegments(), XFillArc(), XFillArcs(), XFillPolygon(), XFillRectangle(), XFillRectangles().
Xlib Reference Manual