18.1.2 Sheet Protocols

A sheet is a participant in a number of protocols. Every sheet must provide methods for the generic functions that make up these protocols. These protocols are:

The windowing protocol--Describes the relationships between the sheet and its parent and children (and, by extension, all of its ancestors and descendants).

The input protocol--Provides the event handler for a sheet. Events may be handled synchronously, asynchronously, or not at all.

The output protocol--Provides graphical and textual output, and manages descriptive output state such as color, transformation, and clipping.

The repaint protocol--Invoked by the event handler and by user programs to ensure that the output appearing on the display device appears as the program expects it to appear.

The notification protocol--Invoked by the event handler and user programs to ensure that CLIM's representation of window system information is equivalent to the display server's.

These protocols may be handled directly by a sheet, queued for later processing by some other agent, or passed on to a delegate sheet for further processing.

Common Lisp Interface Manager 2.0 User's Guide - 27 Feb 2008