Page 145 Table of Contents Index Page 147
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 16. OUTPUT RECORDING

Displays the output captured by the output record record on the output recording stream stream,
exactly as it was originally captured (subject to subsequent modifications). The current user
transformation, line style, text style, ink, and clipping region of stream are all ignored during
the replay operation. Instead, these are gotten from the output record.

If record is not a displayed output record, then replaying it involves replaying all of its children.
If record is a displayed output record, then replaying it involves redoing the graphics operation
captured in the record.

region is a region that can be supplied to limit what records are displayed. Only those records
that overlap region are replayed. The default for region is +everywhere+.

It is permissible for implementations to restrict replay-output-record such that stream must
be the same stream on which the output records were originally recorded.

Minor issue: How does replaying a text output record (or any record that maintains the
cursor position) affect the cursor position of the stream? It is probably that case that
replay
should not affect the cursor position. | SWM

=> erase-output-record record stream [Generic Function]
Erases the output record record from the output recording stream stream, removes record from
stream's output history, and ensures that all other output records that were covered by record
are visible. In effect, this draws background ink over the record, and then redraws all the records
that overlap record.

=> output-record-hit-detection-rectangle* record [Generic Function]
This method is used to establish the usual "effective size" of record for hit detection queries.
Four values are returned corresponding to the edges of the bounding rectangle that is the hit
detection rectangle. The default method (on CLIM's standard output record class) is equivalent
to calling calling bounding-rectangle* on record, but this method can be specialized to return
a larger bounding rectangle in order to implement a form of hysteresis.

=> output-record-refined-sensitivity-test record x y [Generic Function]
This is used to definitively answer hit detection queries, that is, determining that the point (x;y)
is contained within the output record record. Once the position (x;y) has been determined to lie
within output-record-hit-detection-rectangle*, output-record-refined-sensitivity-
test
is invoked. Output record subclasses can provide a method that provides a more precise
definition of a hit, for example, output records for elliptical rings will implement a method that
detects whether the pointing device is on the elliptical ring.

=> highlight-output-record record stream state [Generic Function]
This method is called in order to draw a highlighting box around the output record record on
the output recording stream stream. state will be either :highlight (meaning to draw the
highlighting) or :unhighlight (meaning to erase the highlighting). The default method (on
CLIM's standard output record class) will simply draw a rectangle that corresponds the the
bounding rectangle of record.


Page 145 Table of Contents Index Page 147
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