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

## bitmap-pane

A class of window that provides automatic backing-store. When things are drawn on a `bitmap-pane`, the window stores everything that has been drawn in an unseen memory bitmap (which is similar to a `bitmap-stream`). When the window is later uncovered, the built-in redisplay-window method for `bitmap-pane`s copies the stored image back to the visible window.

This built-in behavior refreshes the window more quickly than would a non-trivial custom redisplay-window method that redraws everything from scratch. It also allows the application to add to the drawing at any time rather than encapsulating the drawing code into a custom redisplay-window method as usual. (An application should never add a redisplay-window method to a `bitmap-pane` class.)

The drawback is that significant memory is required for the memory bitmap. Usually it is best to instead use a more general type of window such as a `frame-window` or `non-refreshing-window`, unless the quicker redisplay provided by the backing-store is needed. Creating a bitmap-pane or increasing its page size with set-page-size could signal an error of type `memory-bitmap-not-created` if there is not enough memory for the memory bitmap.

A special technique for switching a `bitmap-pane` to a completely new drawing very quickly is described under with-delayed-redraw, with an example. An alternate technique for quick redisplay is the double-buffered property (which works with arbitrary windows, rather than with bitmap-panes only).

Typically this class is instantiated indirectly by creating a `bitmap-window`, whose `frame-with-single-child` features are recommended when a toolbar or status-bar is to be added to the window. Otherwise, a title-bar and/or border could be added directly to a standalone `bitmap-pane` if these options are explicitly specified when calling make-window.

A diagram of window and widget classes is shown in Widget and window classes in cgide.htm.

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