Page 30 Table of Contents Index Page 32
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 4. BOUNDING RECTANGLES


Figure 4.1: The bounding rectangle of an output record.


see if the pointer is within the region of an output record, CLIM first checks to see if the pointer
is within the bounding rectangle of the output record.

Note that the bounding rectangle for an output record may have a different size depending on
the medium on which the output record is rendered. Consider the case of rendering text on
different output devices; the font chosen for a particular text style may vary considerably in size
from one device to another.

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

Note that bounding rectangles are not a subclass of rectangle, nor even a subclass of region.
This is because, in general, bounding rectangles do not obey the region protocols. However,
all bounded regions and sheets that obey the bounding rectangle protocol are subclasses of
bounding-rectangle.

Bounding rectangles are immutable, but since they reflect the live state of such mutable objects
as sheets and output records, bounding rectangles are volatile. Therefore, programmers must
not depend on the bounding rectangle associated with a mutable object remaining constant.

=> bounding-rectangle-p object [Function]
Returns true if object is a bounding rectangle (that is, supports the bounding rectangle protocol),
otherwise returns false.

=> standard-bounding-rectangle [Class]
An instantiable class that implements a bounding rectangle. This is a subclass of both bounding-
rectangle
and rectangle, that is, standard bounding rectangles obey the rectangle protocol.

make-bounding-rectangle returns an object of this class.


Page 30 Table of Contents Index Page 32
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