Page 79 Table of Contents Index Page 81
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 10. DRAWING OPTIONS

=> medium-current-text-style medium [Generic Function]
The current, fully merged text style for the medium medium. This is the text style that will
be used when drawing text output, and is the result of merging medium-text-style against
medium-default-text-style.

10.2 Drawing Option Binding Forms

=> with-drawing-options (medium &rest drawing-options) &body body [Macro]
Binds the state of the medium designated by medium to correspond to the supplied drawing
options, and executes the body with the new drawing options specified by drawing-options in
effect. Each option causes binding of the corresponding component of the medium for the
dynamic extent of the body. The drawing functions effectively do a with-drawing-options
when drawing option arguments are supplied to them.

medium can be a medium, a sheet that supports the sheet output protocol, or a stream that
outputs to such a sheet. The medium argument is not evaluated, and must be a symbol that is
bound to a sheet or medium. If medium is t, *standard-output* is used. body may have zero
or more declarations as its first forms.

with-drawing-options must be implemented by expanding into a call to invoke-with-drawing-
options
, supplying a function that executes body as the continuation argument to invoke-with-
drawing-options
. The exact behavior of this macro is described under invoke-with-drawing-
options
.

=> invoke-with-drawing-options medium continuation &rest drawing-options [Generic Function]
Binds the state of the medium medium to correspond to the supplied drawing options, and then
calls the function continuation with the new drawing options in effect. continuation is a function
of one argument, the medium; it has dynamic extent. drawing-options is a list of alternating
keyword-value pairs, and must have even length. Each option in drawing-options causes binding
of the corresponding component of the medium for the dynamic extent of the body.

medium can be a medium, a sheet that supports the sheet output protocol, or a stream that
outputs to such a sheet. All classes that obey the medium protocol must implement a method
for invoke-with-drawing-options.

The drawing options can be any of the following, plus any of the suboptions for line styles and text
styles. The default value specified for a drawing option is the value to which the corresponding
component of a medium is normally initialized.

=> :ink [Option]
A design that will be used as the ink for drawing operations. The drawing functions draw with
the color and pattern that this specifies. The default value is +foreground-ink+. See Chapter 13
for a complete description of inks.


Page 79 Table of Contents Index Page 81
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