| Allegro CL version 9.0 Unrevised from 8.2 to 9.0. 8.2 version |
Arguments: window-or-screen old-box draw-fn erase-fn &optional scroll-p cursor first-corner
A destructive version of get-shape-box. The old-box argument is modified to be the box chosen by the user and then returned. Like get-shape-box, this function waits for the user to press a mouse button to establish one corner of the desired box and then, after moving the mouse about, unpressing it to establish the other corner. old-box is set to the resulting box and returned.
window-or-screen should be a window or the screen.
The screen is the value returned by (screen
*system*)
. See screen and *system*
.
draw-fn should be a function object or a symbol
naming a function, as should erase-fn.
draw-fn is called each time the shape is to be
drawn and erase-fn is called each time it is to
be erased. draw-fn and erase-fn each have two arguments: the
window-or-screen and the current box. When they are called, the stream
brush will be set to one pixel-width black, the stream paint operation
to po-xor
. Thus, drawing
the shape twice will suffice.
As the mouse moves about, candidate boxes are drawn and erased using draw-fn and erase-fn.
If scroll-p is true, the window identified by window-or-screen will be scrolled if the cursor moves outside it. Sets the stream cursor to cursor while running. If the cursor argument is t, a stream default is used (typically the cross-hair cursor).
Copyright (c) 1998-2019, Franz Inc. Oakland, CA., USA. All rights reserved.
This page was not revised from the 8.2 page.
Created 2012.5.30.
| Allegro CL version 9.0 Unrevised from 8.2 to 9.0. 8.2 version |