Page 119 Table of Contents Index Page 121
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 13. DRAWING IN COLOR

either because the implementation has limited opacity resolution or because the implementation
can compute a different color blending function much more quickly.

If a medium's background design is not completely opaque at all points, the consequences are
unspecified. Consequently, a drawing plane is always opaque and drawing can use simplified color
blending that assumes o2 = 1 and o3 = 1. However, compose-over must handle a non-opaque
background correctly.

Note that these (r;g;b;o) quadruples of real numbers between 0 and 1 are mathematical and an
implementation need not store information in this form. Most implementations are expected to
use a different representation.

13.6 Indirect Inks

Drawing with an indirect ink is the same as drawing another design named directly. For example,
+foreground-ink+ is a design that draws the medium's foreground design and is the default
value of the :ink drawing option. Indirect inks exist for the benefit of output recording. For
example, one can draw with +foreground-ink+, change to a different medium-foreground, and
replay the output record; the replayed output will come out in the new color.

You can change the foreground or background design of a medium at any time. This changes
the contents of the medium's drawing plane. The effect is as if everything on the drawing plane
is erased, the background design is drawn onto the drawing plane, and then everything that was
ever drawn (provided it was saved in the output history) is drawn over again, using the medium's
new foreground and background.

If an infinite recursion is created using an indirect ink, an error is signalled when the recursion
is created, when the design is used for drawing, or both.

Two indirect inks are defined, but no advertised way is provided to create more of them.

=> +foreground-ink+ [Constant]
An indirect ink that uses the medium's foreground design.

=> +background-ink+ [Constant]
An indirect ink that uses the medium's background design.

13.7 Flipping Ink

=> make-flipping-ink design1 design2 [Function]
Returns a design that interchanges occurrences of the two designs design1 and design2. Drawing
the resulting design over a background (either by drawing or with compose-over) is defined to


Page 119 Table of Contents Index Page 121
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