t or a designator for a function of one argument.
A Lisp object.
start-drawing-with-cached-display caches the display of the output pane
(by calling output-pane-cache-display with
, which defaults to
nil), remembers the current
, and replaces the
with a callback that first uses the cached display to redraw the area and then uses the
(if non-nil) to draw additional arbitrary drawing.
has the same signature as the
temp-display-callback pane x y width height
The arguments that will be passed to the temp-display-callback are determined by calls to update-drawing-with-cached-display or update-drawing-with-cached-display-from-points. These functions should be called whenever the temporary display needs to be updated.
The effect of
start-drawing-with-cached-display is undone by any call to output-pane-free-cached-display (implicit or explicit). Since output-pane-cache-display, and hence
start-drawing-with-cached-display itself, makes an implicit call to output-pane-free-cached-display, it is not essential to call output-pane-free-cached-display between calls. However, the cached display can be quite large, so it is normally better to call output-pane-free-cached-display as soon as the cache is no longer needed.
is true then the cached drawing is automatically cancelled (by an implicit call to output-pane-free-cached-display) when the pane loses the focus or is resized. This is useful when a cached display is used temporarily, for example during drag and drop. If the cached display needs to survive longer, pass
:automatic-cancel nil. The default value of
is true. If
is a designator for function, it is called with
after the cached displayed is canceled.
user-info is an arbitrary value which will be returned by calls to output-pane-cached-display-user-info and the call to output-pane-free-cached-display. It is useful for keeping information during an operation that uses the cached display, for example drag and drop.
:pressinput model handler, with a matching output-pane-free-cached-display call in the
:releasehandler, to temporarily draw something on top of the permanent display while the user drags the mouse.
start-drawing-with-cached-displayand its associated functions (update-drawing-with-cached-display and update-drawing-with-cached-display-from-points) use the cached display functions (output-pane-cache-display, output-pane-draw-from-cached-display, and output-pane-free-cached-display). Calling the cached display functions in the scope of
start-drawing-with-cached-displayand output-pane-free-cached-display would confuse them.
Transient display on output-pane and subclasses
CAPI User Guide and Reference Manual (Windows version) - 3 Aug 2017