Generic Function | Package: cg | ToC | DocOverview | CGDoc | RelNotes | FAQ | Index | PermutedIndex
| Allegro CL version 9.0 Unrevised from 8.2 to 9.0. 8.2 version

## invalidate

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.

|  | ToC | DocOverview | CGDoc | RelNotes | FAQ | Index | PermutedIndex
| Allegro CL version 9.0 Unrevised from 8.2 to 9.0. 8.2 version