Page 141 Table of Contents Index Page 143
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

16.1 Overview of Output Recording

CLIM provides a mechanism whereby output (textual and graphical) may be captured into an
output history for later replay on the same stream. This mechanism serves as the basis for many
other tools, such as the formatted output and presentation mechanisms described elsewhere.

The output recording facility is layered on top of the graphics and text output protocols. It works
by intercepting the operations in the graphics and text output protocols, and saving information
about these operations in objects called output records. In general, an output record is a kind
of display list, that is, a collection of instructions for drawing something on a stream. Some
output records may have children, that is, a collection of inferior output records. Other output
records, which are called displayed output records, correspond directly to displayed information
on the stream, and do not have children. If you think of output records being arranged in a
tree, displayed output records are all of the leaf nodes in the tree, for example, displayed text
and graphics records.

Displayed output records must record the state of the supplied drawing options at the instant
the output record is created, as follows. The ink supplied by the programmer must be captured
without resolving indirect inks; this is so that a user can later change the default foreground and
background ink of the medium and have that change affect the already-created output records
during replay. The effect of the specified "user" transformation (composed with the medium
transformation) must be captured; CLIM implementations are free to do this either by saving
the transformation object or by saving the transformed values of all objects that are affected
by the transformation. The user clipping region and line style must be captured in the output
record as well. Subsequent replaying of the record under a new user transformation, clipping
region, or line style will not affect the replayed output. CLIM implementation are permitted to
capture the text style either fully merged against the medium's default, or not; in the former
case, subsequent changes to the medium's default text style will not affect replaying the record,
but in the latter case changing the default text style will affect replaying.


Page 141 Table of Contents Index Page 143
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