Common Lisp Interface Manager 2.0 User's Guide > Chapter 2 Drawing Graphics > 2.4 Graphics Protocols


2.4.2 General Behavior of Drawing Functions

Using draw-line* as an example, calling any of the drawing functions specified previously results in the following series of function calls on a non-output recording sheet:

A program calls draw-line* on arguments sheet , x1 , y1 , x2 , and y2 , and perhaps some drawing options.

draw-line* merges the supplied drawing options into the sheet's medium, and then calls medium-draw-line* on the sheet. (Note that a compiler macro could detect the case where there are no drawing options or constant drawing options, and do this at compile time.)

medium-draw-line* on the sheet calls the same method-- medium-draw-line* --on the medium.

medium-draw-line* performs the necessary user transformations by applying the medium transformation to x1 , y1 , x2 , and y2 , and to the clipping region.

Common Lisp Interface Manager 2.0 User's Guide - 22 Dec 2009