Page 184 Table of Contents Index Page 186
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

=> :unique-id [Init Arg]
=> :id-test [Init Arg]
=> :cache-value [Init Arg]
=> :cache-test [Init Arg]
=> :fixed-position [Init Arg]
All subclasses of updating-output-record must handle these four initargs, which are used
to specify, respectively, the unique id and id test, cache value and cache test, and the "fixed
position" component of the output record.

=> standard-updating-output-record [Class]
The instantiable class of output record that supports incremental redisplay. This is a subclass
of updating-output-record.

=> output-record-unique-id record [Generic Function]
Returns the unique id associated with the updating output record record.

=> output-record-cache-value record [Generic Function]
Returns the cache value associated with the updating output record record.

=> output-record-fixed-position record [Generic Function]
Returns true if the updating output record record is at a fixed location on the output stream,
otherwise returns false. Output records that are not at fixed location on the output stream will
be moved by incremental redisplay when any of their siblings adjust their size or position.

=> output-record-displayer record [Generic Function]
Returns the function that produces the output for this output record. This is the function that
is called during redisplay to produce new output if the cache value mismatches.

=> compute-new-output-records record stream [Generic Function]
compute-new-output-records modifies an output record tree to reflect new output done by
the application. In addition to inserting the new output records into the output record tree, it
must save enough information to be able to compute the difference set, such as the old bounding
rectangle, old cursor positions, old children, and so forth.

compute-new-output-records recursively invokes itself on each child of record.

compute-new-output-records of an output record of type updating-output-record runs the
displayer (output-record-displayer), which gives the behavior of incremental redisplay. That
is, it reruns the code (getting hints from updating-output) and figures out the changes from
there by comparing it to the old output history.

=> compute-difference-set record &optional (check-overlapping t) (offset-x 0) (offset-y 0) (old-
offset-x
0) (old-offset-y 0) [Generic Function]


Page 184 Table of Contents Index Page 186
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