Page 114 Table of Contents Index Page 116
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

the drawing plane outside that distance. Unbounded designs have points of non-zero opacity
arbitrarily far from the origin. Drawing an unbounded design affects the entire drawing plane.

All designs are either uniform or non-uniform. Uniform designs have the same color and opacity
at every point in the drawing plane. Uniform designs are always unbounded, unless they are
completely transparent.

All designs are either solid or translucent. At each point a solid design is either completely
opaque or completely transparent. A solid design can be opaque at some points and transparent
at others. In translucent designs, at least one point has an opacity that is intermediate between
completely opaque and transparent.

All designs are either colorless or colored. Drawing a colorless design uses a default color specified
by the medium's foreground design. This is done by drawing with (compose-in +foreground-
ink+
the-colorless-design). See Chapter 14 for the details of compose-in.

=> designp object [Function]
Returns true if object is a design, otherwise returns false.

13.3 Color

=> color [Protocol Class]
A member of the class color is a completely opaque design that represents the intuitive definition
of color: white, black, red, pale yellow, and so forth. The visual appearance of a single point is
completely described by its color. Drawing a color sets the color of every point in the drawing
plane to that color, and sets the opacity to 1. The color class is the protocol class for a color,
and is a subclass of design. If you want to create a new class that behaves like a color, it should
be a subclass of color. Subclasses of color must obey the color protocol.

All of the standard instantiable color classes provided by CLIM are immutable.

A color can be specified by three real numbers between 0 and 1 (inclusive), giving the amounts of
red, green, and blue. Three 0's mean black; three 1's mean white. The intensity-hue-saturation
color model is also supported, but the red-green-blue color model is the primary model we will
use in the specification.

=> colorp object [Function]
Returns true if object is a color, otherwise returns false.

The following functions create colors. These functions produce objects that have equivalent
effects; the only difference is in how the color components are specified. The resulting objects
are indistinguishable when drawn. Whether these functions use the specified values exactly or
approximate them because of limited color resolution is unspecified. Whether these functions
create a new object or return an existing object with equivalent color component values is
unspecified.


Page 114 Table of Contents Index Page 116
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