get-shape-line

Performs a "rubber band" operation where the user drags a stretching
line that is drawn on stream between
start-position and the current mouse cursor
position. If the function draw-line is passed as the
draw-fn and erase-fn, then
get-shape-line
will act just like get-line and do a simple
rubber-banding. If a fancier sort of rubber-band line is desired,
custom functions can be passed in instead. The
draw-fn and erase-fn should
each take three arguments: the window-or-screen, the start-position,
and the mouse-cursor position.

window-or-screen should be a window or the screen.
The screen is the value returned by (screen
*system*). See screen and *system*.

If scroll-p is true then the
window will scroll if possible when the user moves the mouse cursor
off the side of the window.

If cursor is true, it should
either be a mouse cursor to use during the rubber banding or t to
default to cross-cursor. The default is t.