Page 19 Table of Contents Index Page 21
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


Figure 3.3: The class structure for all regions.


number). Points have neither area nor length (that is, they have dimensionality 0).

Note well that a point is not a pixel; CLIM models a drawing plane with continuous coordinates.
This is discussed in more detail in Chapter 12.

=> point [Protocol Class]
The protocol class that corresponds to a mathematical point. This is a subclass of region and
bounding-rectangle. If you want to create a new class that behaves like a point, it should be
a subclass of point. Subclasses of point must obey the point protocol.

=> pointp object [Function]
Returns true if object is a point, otherwise returns false.

=> standard-point [Class]
An instantiable class that implements a point. This is a subclass of point. This is the class that
make-point instantiates. Members of this class are immutable.

=> make-point x y [Function]
Returns an object of class standard-point whose coordinates are x and y. x and y must be real
numbers.

The Point Protocol

The following generic functions comprise the point API. Only point-position is in the point
protocol, that is, all classes that are subclasses of point must implement methods for point-
position
, but need not implement methods for point-x and point-y.

=> point-position point [Generic Function]
Returns both the x and y coordinates of the point point as two values.


Page 19 Table of Contents Index Page 21
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