Page 50 Table of Contents Index Page 52
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 7. PROPERTIES OF SHEETS

region is in the sheet's coordinate system. Using setf on this accessor modifies the sheet's
region.

When the sheet's region is changed, note-sheet-region-region is called to notify the sheet of
the change.

Minor issue: To reshape and move a region, you generally have to manipulate both of the
above. Maybe there should be a single function that takes either or both of a new transformation
or region? Maybe region coordinates should be expressed in parents' coordinates, since that's
easier to set only one? | RSL

Minor issue: I'm not convinced I like this business of requesting a change by modifying an
accessor. It might be better to have a
request- function, so it would be clear that there might be
some delay before the region or transformation was modified. Currently, using
setf on mirrored
sheets requests that the server move or resize the sheet; the accessor will continue to return the
old value until the notification comes in from the display server that says that the mirror has
been moved. | RSL

=> map-sheet-position-to-parent sheet x y [Generic Function]
Applies the sheet sheet's transformation to the point (x;y), returning the coordinates of that
point in sheet's parent's coordinate system.

=> map-sheet-position-to-child sheet x y [Generic Function]
Applies the inverse of the sheet sheet's transformation to the point (x;y) (represented in sheet's
parent's coordinate system), returning the coordinates of that same point in sheet coordinate
system.

=> map-sheet-rectangle*-to-parent sheet x1 y1 x2 y2 [Generic Function]
Applies the sheet sheet's transformation to the bounding rectangle specified by the corner points
(x1;y1) and (x2;y2), returning the bounding rectangle of the transformed region as four values,
min-x, min-y, max-x, and max-y. The arguments x1, y1, x2, and y1 are canonicalized in the
same way as for make-bounding-rectangle.

=> map-sheet-rectangle*-to-child sheet x1 y1 x2 y2 [Generic Function]
Applies the inverse of the sheet sheet's transformation to the bounding rectangle delimited by the
corner points (x1;y1) and (x2;y2) (represented in sheet's parent's coordinate system), returning
the bounding rectangle of the transformed region as four values, min-x, min-y, max-x, and max-
y
. The arguments x1, y1, x2, and y1 are canonicalized in the same way as for make-bounding-
rectangle
.

Minor issue: I now think that map- in these names is misleading; maybe convert- is better?
| SWM

=> child-containing-position sheet x y [Generic Function]
Returns the topmost enabled direct child of the sheet sheet whose region contains the position
(x;y). The position is expressed in sheet's coordinate system.


Page 50 Table of Contents Index Page 52
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