Jack Unrue writes:
I've got the general idea that a backend implements a class hierarchy with the responsibility of tying backend-specific constructs (represented by mirrors) to the system-agnostic representation (panes, sheets, and gadgets). The resulting McCLIM object hierarchy needs to shadow the logical structure in the native windowing system (e.g., window parent/child relationships). In McCLIM, one implements specializations of make-pane-1 and realize-mirror to accomplish that. Correct?
Not quite. As an implementor of backends, you have a choice between which sheets should be mirrored: pretty much every sheet, only the top-level sheet, or any solution in between. For the X11 backend, as many sheets as possible are mirrored, but there are backends (OpenGL?) that do not have a hierarchy of windows, and for such backends, CLIM does implements the parent-child relationship itself.