15.2 Extended Output Streams

In addition to the basic output stream protocol, CLIM defines an extended output stream protocol. This protocol extends the stream model to maintain the state of a text cursor, margins, text styles, inter-line spacing, and so forth. [annotate]

extended-output-stream   [Protocol Class]
          

The protocol class for CLIM extended output streams. This is a subclass of output-stream. If you want to create a new class that behaves like an extended output stream, it should be a subclass of extended-output-stream. All instantiable subclasses of extended-output-stream must obey the extended output stream protocol. [annotate]

[annotate]

extended-output-stream-p  object [Protocol Predicate]
          

Returns true if object is a CLIM extended output stream, otherwise returns false. [annotate]

[annotate]

:foreground   [Initarg]
:background   [Initarg]
:text-style   [Initarg]
:vertical-spacing   [Initarg]
:text-margin   [Initarg]
:end-of-line-action   [Initarg]
:end-of-page-action   [Initarg]
:default-view   [Initarg]
          

All subclasses of extended-output-stream must handle these initargs, which are used to specify, respectively, the medium foreground and background, default text style, vertical spacing, default text margin, end of line and end of page actions, and the default view for the stream. [annotate]

:foreground, :background, and :text-style are handled via the usual pane initialize options (see Section 29.2.1). [annotate]

[annotate]

standard-extended-output-stream   [Class]
          

This class provides an implementation of the CLIM extended output stream protocol, based on the CLIM output kernel. [annotate]

Members of this class are mutable. [annotate]

[annotate]