2.1.2 The Drawing Plane

When drawing graphics in CLIM, you imagine that they appear on a drawing plane. The drawing plane extends infinitely in four directions and has infinite resolution (no pixels). The drawing plane has no material existence and cannot be viewed directly. The drawing plane provides an idealized version of the graphics you draw. A line that you draw on the drawing plane is infinitely thin.


Figure 5. Rendering from Drawing Plane to Window

Of course, you intend that the graphics should be visible to the user, so they must be presented on a real display device. CLIM transfers the graphics from the drawing plane to the window via the rendering process. Because the window lives on hardware that has physical constraints, the rendering process is forced to compromise when it draws the graphics on the window. The actual visual appearance of the window is only an approximation of the idealized drawing plane.

Figure 5. shows the conceptual model of the drawing functions sending graphical output to the drawing plane, and the graphics being transferred to a screen by rendering. The distinction between the idealized drawing plane and the real window enables you to develop programs without considering the constraints of a real window or other specific output device. This distinction makes CLIM's drawing model highly portable.

CLIM application programs can inquire about the constraints of a device, such as its resolution and other characteristics, and modify the desired visual appearance on that basis. This practice trades portability for a finer degree of control of the appearance on a given device.

Common Lisp Interface Manager 2.0 User's Guide - 27 Feb 2008