14.4 Regions as Designs

Any member of the class region is a solid, colorless design. The design is opaque at points in the region and transparent elsewhere. Figure 14.1 shows how the design and region classes relate to each other. [annotate]

Figure 14.1: The class structure for all designs and regions. Entries in bold correspond to real CLIM classes.

Since bounded designs obey the region protocol, the functions transform-region and untransform-region accept any design as their second argument and apply a coordinate transformation to the design. The result is a design that might be freshly constructed or might be an existing object. [annotate]

Transforming a uniform design simply returns the argument. Transforming a composite, flipping, or indirect design applies the transformation to the component design(s). Transforming a pattern, tile, or output record design is described in the sections on those designs. [annotate]