Page 183 Table of Contents Index Page 185
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

entirely bogus. The proposal to make "stream relative" coordinates for output records instead
of "parent relative" coordinates will eliminate this completely. | SWM

(redisplay-output-record record stream) causes the output of record to be recomputed. CLIM
redisplays the changes "incrementally", that is, it only displays those parts that have been
changed. record must already be part of the output history of the output recording stream
stream, although it can be anywhere inside the hierarchy.

When check-overlapping is false, this means that CLIM can assume that no sibling output
records overlap each other at any level. Supplying a false value for this argument can improve
performance of redisplay.

Implementation note: redisplay-output-record is implemented by first binding stream-
redisplaying-p
of the stream to true, then creating the new output records by invoking
compute-new-output-records. Once the new output records have been computed, compute-
difference-set
is called to compute the difference set, which is then passed to note-child-
output-record-changed
.

The other optional arguments can be used to specify where on the stream the output record
should be redisplayed. x and y represent where the cursor should be, relative to (output-record-
parent
record), before we start redisplaying record. parent-x and parent-y can be supplied to
say: do the output as if the parent started at positions parent-x and parent-y (which are in
absolute coordinates). The default values for x and y are (output-record-start-position
record). The default values for parent-x and parent-y are

 
 (convert-from-relative-to-absolute-coordinates
   stream (output-record-parent record))

record will usually be an output record created by updating-output. If it is not, then redisplay-
output-record
will be equivalent to replay-output-record.

21.3 Incremental Redisplay Protocol

Major issue: While the description of the API here is accurate, the description of the protocol
is a disaster. This is no surprise, since the protocol for increment redisplay is itself a disaster.
| SWM

=> updating-output-record [Protocol Class]
The protocol class corresponding to records that support incremental redisplay; a subclass of
output-record. If you want to create a new class that behaves like an updating output record,
it should be a subclass of updating-output-record. Subclasses of updating-output-record
must obey the updating output record protocol.

=> updating-output-record-p object [Function]
Returns true if object is an updating output record, otherwise returns false.


Page 183 Table of Contents Index Page 185
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