Next: Output Protocol, Previous: CLIM drawing functions, Up: Top
Panes are subclasses of sheets. Some panes are layout panes that determine the size and position of its children according to rules specific to each particular type of layout pane. Examples of layout panes are vertical and horizontal boxes, tables etc.
According to the CLIM specification, all CLIM panes are rectangular objects. For McCLIM, we interpret that phrase to mean that:
Of course, the specification is unclear here. Panes are subclasses of sheets, and sheets don't have a shape per-se. Their regions may have a shape, but the sheet itself certainly does not.
The phrase in the specification could mean that the sheet-region of a pane is a subclass of the region class rectangle. But that would not exclude the possibility that the region of a pane would be some non-rectangular shape in the native coordinate system. For that to happen, it would be enough that the sheet-transformation of some ancestor of the pane contain a rotation component. In that case, the layout protocol would be insufficient in its current version.
McCLIM panes have the following additional restrictions:
Thus, the panes form a prefix in the hierarchy of sheets. It is an error for a non-pane to adopt a pane.
Notice that the native transformation of a pane need not be the identity transformation. If the pane is not mirrored, then its native transformation is probably a translation of that of its parent.
Notice also that the native transformation of a pane need not be the composition of the identity transformation and a translation. That would be the case only of the native transformation of the top level sheet is the identity transformation, but that need not be the case. It is possible for the frame manager to impose a coordinate system in (say) millimeters as opposed to pixels. The native transformation of the top level sheet of such a frame manager is a scaling with coefficients other than 1.