Page 137 Table of Contents Index Page 139
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 15. EXTENDED STREAM OUTPUT

start and end are integers, and default to 0 and the length of the string, respectively.

=> stream-text-margin stream [Generic Function]
=> (setf stream-text-margin) margin stream [Generic Function]
The x coordinate at which text wraps around on the extended output stream stream (see stream-
end-of-line-action
). The default setting is the width of the viewport, which is the right-hand
edge of the viewport when it is horizontally scrolled to the "initial position".

You can use setf with stream-text-margin to establish a new text margin. If margin is nil,
then the width of the viewport will be used. If the width of the viewport is later changed, the
text margin will change, too.

=> stream-line-height stream &key text-style [Generic Function]
Returns what the line height of a line on the extended output stream stream containing text in
the text style text-style would be, as a rational number. text-style defaults to the current text
style for the stream.

=> stream-vertical-spacing stream [Generic Function]
Returns the current inter-line spacing (as a rational number) for the extended output stream
stream.

=> stream-baseline stream [Generic Function]
Returns the current text baseline (as a rational number) for the extended output stream stream.

15.4.1 Mixing Text and Graphics

The following macro provides a convenient way to mix text and graphics on the same output
stream.

=> with-room-for-graphics (&optional stream &key (move-cursor t) height record-type) &body
body [Macro]
Binds the dynamic environment to establish a local Cartesian coordinate system for doing graph-
ics output onto the extended output stream designated by stream. The origin (0;0) of the local
coordinate system is placed at the current cursor position, and is in the lower left corner of the
area created. If the boolean move-cursor is true (the default), then after the graphic output
is completed, the cursor is positioned past (immediately below) this origin. The bottom of the
vertical block allocated is at this location (that is, just below point (0;0), not necessarily at the
bottom of the output done).

The stream argument is not evaluated, and must be a symbol that is bound to a stream. If
stream is t (the default), *standard-output* is used. body may have zero or more declarations
as its first forms.

If height is supplied, it must be a rational number that specifies the amount of vertical space to


Page 137 Table of Contents Index Page 139
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