circle(3G)
NAME
dccircle, intcircle, intpartial_circle − define a circular region to be filled and/or edged.
(See ellipse(3G) for floating point circle information.)
SYNOPSIS
C Syntax:
void intcircle (fildes,radius,x_center,y_center);
int fildes,radius,x_center,y_center;
void intpartial_circle (fildes,radius,x_center,y_center,closure);
int fildes,radius,x_center,y_center,closure;
void dccircle (fildes,dcradius,dcx_center,dcy_center);
int fildes,dcradius,dcx_center,dcy_center;
FORTRAN77 Syntax:
subroutine intcircle (fildes,radius,x_center,y_center)
integer*4 fildes,radius,x_center,y_center
subroutine intpartial_circle (fildes,radius,x_center,y_center,closure)
integer*4 fildes,radius,x_center,y_center,closure
subroutine dccircle (fildes,dcradius,dcx_center,dcy_center)
integer*4 fildes,dcradius,dcx_center,dcy_center
Pascal Syntax:
procedure intcircle (fildes,radius,x_center,y_center:integer);
procedure intpartial_circle (fildes,radius,x_center,y_center,
closure:integer);
procedure dccircle (fildes,dcradius,dcx_center,dcy_center:integer);
DESCRIPTION
Input Parameters
fildes Integer file descriptor returned by gopen when an I/O path to a graphics device is opened.
radius,dcradius Radius of the circle.
x_center,y_center Coordinate of the circle center.
dcx_center,dcy_center
Device coordinate of the circle center.
closure If TRUE (1), and the polygon vertex list is non-empty and the last subpolygon was not yet closed, a boundary is added to close that subpolygon with a boundary. If FALSE (0), no boundary is added.
Discussion
A circle of the specified radius, centered at ( x_center, y_center ) or ( dcx_center, dcy_center ) is filled and/or outlined according to the current interior style. As with all output primitives, the arc is affected by the current drawing mode and write enable. The curve is drawn with chords of length specified in curve_resolution. For intpartial_circle, the vertices of the circle are added to the polygon vertex list, as in the case of partial_polygons.
Non-filled circles are generated by setting the interior style to INT_HOLLOW and edged.
Integer operations are only available when using the INT_XFORM gopen mode. When in INT_XFORM mode Floating point operations are not available for that fildes. Floating point operations are the default, or can be specified with FLOAT_XFORM mode. For a list of Integer operations, Floating point operations and common operations see the starbase.3g manual page.
NOTE
Doing any other Starbase call besides intpartial_circle or intpartial_polygon in the middle of a list of procedure calls that add vertices to the polygon buffer and before a call to intpolygon, intrectangle, intarc, or intcircle produces unpredictable, device-dependent results.
When using a distorted mapping (where units in X do not equal units in Y), integer circles may not remain circular. This effect is unpredictable and device-dependent, and could change in future releases.
In some cases, circles may actually be rendered as polygons. Certain devices limit the number of polygon vertices they support. See the appropriate chapter in the Starbase Device Drivers Manual. If this limit is exceeded, you will receive a warning. To eliminate this warning, adjust the step size (i.e. number of vertices in the approximating polygon) by using the curve_resolution command.
SEE ALSO
curve_resolution(3G), drawing_mode(3G), fill_color(3G), write_enable(3G), Starbase Graphics Techniques.
Hewlett-Packard Company — HP-UX Release 9.0: August 1992