Chapter 18 Sheets
The fundamental window abstraction defined by CLIM is called a sheet. A sheet can participate in a relationship called a windowing relationship. This relationship is one in which one sheet called the parent provides space to a number of other sheets called children. Support for establishing and maintaining this kind of relationship is the essence of what window systems provide. At any point in time, CLIM allows a sheet to be a child in one relationship and a parent in another relationship.
Programmers can manipulate unrooted hierarchies of sheets (those without a connection to any particular display server). However, a sheet hierarchy must be attached to a display server to make it visible. Ports and grafts provide the functionality for managing this capability. A port is an abstract connection to a display service that is responsible for managing host display server resources and for processing input events received from the host display server. A graft is a special kind of sheet that represents a host window, typically a root window (that is, a screen-level window). A sheet is attached to a display by making it a child of a graft, which represents an appropriate host window. The sheet will then appear to be a child of that host window. In other words, a sheet is put onto a particular screen by making it a child of an appropriate graft and enabling it. Ports and grafts are described in detail in Chapter 19, "Ports, Grafts, and Mirrored Sheets."
As has been discussed previously, CLIM users will typically be dealing with panes, rather than with sheets, ports, grafts, or mediums, as a call to make-application-frame automatically results in a port specification, a graft instantiation, and the allocation of a medium, to which output directed to the pane will be forwarded.
Generated with Harlequin WebMaker