| Allegro CL version 9.0 Unrevised from 8.2 to 9.0. 8.2 version |
Arguments: object &key (interior t) frame children box (erase t)
Invalidates object so that redisplay-window will be called automatically to redraw the invalidated area. redisplay-window will be called only when there are no more queued events, which reduces flashing by redrawing an object only once even if it has been invalidated multiple times while handling a sequence of events. See also update-window.
object may be a window, dialog-item
, outline-item
, or hotspot
, though the keyword arguments are used
only by windows (including the associated widget-window
when a dialog-item
is passed).
The first three keyword arguments specify what is invalidated: the
interior (client area), the frame (or border), and/or the child
windows if any. interior defaults to true, while
frame and children default
to nil
.
box specifies what part of the interior to
redraw, when interior is true. If
box is nil
, as it is by
default, then the entire visible-box of the window is redrawn; otherwise
box should be a box in the window's stream
coordinates that indicates the rectangular area to redraw. This box
will be passed to the redisplay-window method, which can avoid drawing
anything that does not intersect this box, for efficiency. The
clipping-box of the window
will also be set to this box at this time, which reduces flashing even
when the redisplay-window
method does attempt to draw outside the box.
If erase is true, it ensures that all content is erased before being repainted, though in fact this is typically done by a window's redisplay-window method anyway.
When a hotspot
is passed,
the region-box of its hotspot-region is invalidated in the
hotspot's parent window, to redraw the smallest rectangular area that
fully contains the hotspot.
When an outline-item
is
passed, that individual item is redrawn instead of redrawing the
entire outline.
This function should be used instead of most invalidate-* functions (but not invalidate-section).
See cg-drawing.htm for a discussion of the uses of redisplay-window, invalidate, and update-window.
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 |