| Allegro CL version 8.2 Moderate update since 8.2 release. 8.1 version |
Arguments: window-or-screen old-box draw-fn erase-fn &optional scroll-p cursor
A destructive version of get-shape-fixed-box. The old-box argument (which provides the initial box and the height and width of the resulting box) is modified to be the box chosen by the user and then returned. Like get-shape-fixed-box, this function waits as the user moves the mouse about to establish the top-left corner of the desired box. When the user presses a mouse button to establish the 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 stream
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-2016, Franz Inc. Oakland, CA., USA. All rights reserved.
This page was not revised from the 8.1 page.
Created 2010.1.21.
| Allegro CL version 8.2 Moderate update since 8.2 release. 8.1 version |