12.6.1 Relative drawing in pixmap graphics ports

Many of the drawing functions have a
relative
argument. If non-nil, it specifies that when drawing functions draw to the pixmap, the extremes of the pixel coordinates reached are accumulated. If the drawing strays beyond any edge of the pixmap port (into negative coordinates or beyond its width or height), then the drawing origin is shifted so that it all fits on the port. If the drawing extremes exceed the total size available, some are inevitably lost. If
relative
is
nil
, any part of the drawing which extends beyond the edges of the pixmap is lost. If
relative
is
nil
and
collect
non-nil, the drawing bounds are collected for later reading, but no relative shifting of the drawing is performed. The collected bounds are useful when you need to know the graphics motion a series of drawing calls causes. The
rest
args are host-dependent. They usually include a
:width
and
:height
pair.