Text displayed output records are used to record the textual output produced by such functions as stream-write-char and stream-write-string . Each text displayed output record corresponds to no more than one line of textual output (that is, line breaks caused by terpri and fresh-line create a new text output record, as do certain other stream operations).
Text displayed output records store the following information:
The starting and ending cursor positions
The text style in which the text string was written
The programmer-supplied ink at the time the drawing function was called (indirect inks are not resolved, so that you 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 programmer-supplied clipping region at the time the drawing function was called
text-displayed-output-record [Protocol Class]
Summary: The protocol class that corresponds to text displayed output records. This is a subclass of displayed-output-record . If you want to create a new class that behaves like a text displayed output record, it should be a subclass of text-displayed-output-record. Subclasses of text-displayed-output-record must obey the text displayed output record protocol.
text-displayed-output-record-p [Function]
Summary: Returns t if object is a text displayed output record; otherwise, it returns nil .
The following three generic functions comprise the text displayed output record protocol.
add-character-output-to-text-record [Generic Function]
Arguments: text-record character text-style width height baseline
Summary: Adds the character character to the text displayed output record text-record in the text style text-style . width and height are the width and height of the character in device units, and are used to compute the bounding rectangle for the text record. baseline is the new baseline for characters in the output record.
add-string-output-to-text-record [Generic Function]
Arguments: text-record string start end text-style width height baseline
Summary: Adds the string string to the text displayed output record text-record in the text style text-style . start and end are integers that specify the substring within string to add to the text output record. width and height are the width and height of the character in device units, and are used to compute the bounding rectangle for the text record. baseline is the new baseline for characters in the output record.
text-displayed-output-record-string [Generic Function]
Summary: Returns the string contained by the text displayed output record text-record . This function returns objects that reveal CLIM's internal state; do not modify those objects.
Common Lisp Interface Manager 2.0 User's Guide - 7 Aug 2017