Page 27 Table of Contents Index Page 29
Chapters
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30
A, B, C, D, E



CHAPTER 3. REGIONS

=> make-elliptical-arc* center-x center-y radius-1-dx radius-1-dy radius-2-dx radius-2-dy &key
start-angle end-angle [Function]
Returns an object of class standard-elliptical-arc. The center of the ellipse is at the point
center-point (or the position (center-x,center-y)).

Two vectors, (radius-1-dx,radius-1-dy) and (radius-2-dx,radius-2-dy), specify the bounding par-
allelogram of the ellipse as explained above. All of the radii are real numbers. If the two vectors
are collinear, the ellipse is not well-defined and the ellipse-not-well-defined error will be
signalled. The special case of an elliptical arc with its axes aligned with the coordinate axes can
be obtained by setting both radius-1-dy and radius-2-dx to 0.

If start-angle and start-angle are supplied, the arc is swept from start-angle to end-angle. Angles
are measured counter-clockwise with respect to the positive x axis. If end-angle is supplied, the
default for start-angle is 0; if start-angle is supplied, the default for end-angle is 2; if neither is
supplied then the region is a closed elliptical path and the angles are meaningless.

This function is permitted to capture its mutable inputs; the consequences of modifying those
objects are unspecified.

The Ellipse and Elliptical Arc Protocol

The following functions apply to both ellipses and elliptical arcs. In all cases, the name elliptical-
object
means that the argument may be an ellipse or an elliptical arc. These generic functions
comprise the ellipse protocol. All classes that are subclasses of either ellipse or elliptical-
arc
must implement methods for these functions.

=> ellipse-center-point* elliptical-object [Generic Function]
Returns the center point of elliptical-object as two values representing the coordinate pair.

=> ellipse-center-point elliptical-object [Generic Function]
Returns the center point of elliptical-object.

ellipse-center-point is part of the ellipse API, but not part of the ellipse protocol. CLIM
will supply default methods for ellipse-center-point on the protocol classes ellipse and
elliptical-arc that are implemented by calling ellipse-center-point*.

=> ellipse-radii elliptical-object [Generic Function]
Returns four values corresponding to the two radius vectors of elliptical-arc. These values may
be canonicalized in some way, and so may not be the same as the values passed to the constructor
function.

=> ellipse-start-angle elliptical-object [Generic Function]
Returns the start angle of elliptical-object. If elliptical-object is a full ellipse or closed path then
ellipse-start-angle will return nil; otherwise the value will be a number greater than or


Page 27 Table of Contents Index Page 29
Chapters
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30
A, B, C, D, E