Page 181 Table of Contents Index Page 183
Chapters
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30
A, B, C, D, E



CHAPTER 21. INCREMENTAL REDISPLAY
 
 Element 1
 Element 2
 Element 17
 Element 4
 Element 5
CLIM takes care of ensuring that only the third line gets erased and redisplayed. In the case
where items moved around (try the example substituting
 
 (setf list (sort list #'(lambda (x y)
              (declare (ignore x y))
              (zerop (random 2)))))

for the form after the call to sleep), CLIM would ensure that the minimum amount of work would
be done in updating the display, thereby minimizing "flashiness" while providing a powerful user
interface.

See Chapter 28 for a discussion of how to use incremental redisplay automatically within the
panes of an application frame.

21.2 Standard Programmer Interface

=> updating-output (stream &rest args &key unique-id (id-test #'eql) cache-value (cache-test
#'
eql) copy-cache-value fixed-position all-new parent-cache record-type) &body body [Macro]
Introduces a caching point for incremental redisplay.

The stream argument is not evaluated, and must be a symbol that is bound to an output recording
stream. If stream is t, *standard-output* is used. body may have zero or more declarations as
its first forms.

record-type specifies the class of output record to create. The default is standard-updating-
output-record
. This argument should only be supplied by a programmer if there is a new class
of output record that supports the updating output record protocol.

updating-output must be implemented by expanding into a call to invoke-updating-output,
supplying a function that executes body as the continuation argument to invoke-updating-
output
. The exact behavior of this macro is described under invoke-updating-output.

=> invoke-updating-output stream continuation record-type unique-id id-test cache-value cache-
test copy-cache-value
&key all-new parent-cache [Generic Function]
Introduces a caching point for incremental redisplay. Calls the function continuation, which
generates the output records to be redisplayed. continuation is a function of one argument, the
stream; it has dynamic extent.


Page 181 Table of Contents Index Page 183
Chapters
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30
A, B, C, D, E