CLIM also provides a few compound drawing functions. The compound drawing functions could be composed by a programmer from the basic drawing functions, but are provided by CLIM because they are commonly used.
draw-arrow [Function]
Arguments: sheet point-1 point-2
&key
ink clipping-region transformation line-style line-thickness line-unit line-dashes line-cap-shape to-head from-head head-length head-width
draw-arrow* [Function]
Arguments: sheet x1 y1 x2 y2
&key
ink clipping-region transformation line-style line-thickness line-unit line-dashes line-cap-shape from-head to-head head-length head-width
Summary: These functions (structured and spread arguments, respectively) draw a line segment on the sheet sheet from the point point1 to point2 (or from the position ( x1 , y1 ) to ( x2 , y2 )). If to-head is t (the default), then the "to" end of the line is capped by an arrowhead. If from-head is t (the default is nil ), then the "from" end of the line is capped by an arrowhead. The arrowhead has length head-length (default 10) and width head-width (default 5).
The current line style (see 3.2, Using CLIM Drawing Options) affects the drawing of the line portion of the arrow in the obvious way, except that the joint shape has no effect. Dashed arrows start dashing at point1 .
draw-oval [Function]
Arguments: sheet center-pt x-radius y-radius
&key
(filled
t
) ink clipping-region transformation line-style line-thickness line-unit line-dashes line-cap-shape
draw-oval* [Function]
Arguments: sheet center-x center-y x-radius y-radius
&key
(filled
t
) ink clipping-region transformation line-style line-thickness line-unit line-dashes line-cap-shape
Summary: These functions (structured and spread arguments, respectively) draw a filled or unfilled oval (that is, a "race-track" shape) on the sheet sheet . The oval is centered on center-pt (or ( center-x , center-y )). If x-radius or y-radius is 0, then a circle is drawn with the specified non-zero radius. Otherwise, a figure is drawn that is a rectangle with dimension x-radius by y-radius , with the two short sides replaced by a semicircular arc of the appropriate size.
Common Lisp Interface Manager 2.0 User's Guide - 3 Mar 2015