Output Records

part of Common Lisp Interface Manager (CLIM) by Jason Kantz

Questions

  • What are output records?

    Reading

  • Conceptual Overview of Output Recording

    What are they?

    An output record is a kind of display list--a collection of instructions for drawing something on the screen.

    Some output records have children--a collection of inferior output records.

    Displayed output records correspond directly to displayed information on the stream, and don't have children--they are leaf nodes of the tree. Displayed output records can be replayed.

    Presentations are a special case of output records that remember the object and type of object associated with the output.

    standard-tree-output-record is a class provided by CLIM to store longer sequences of output records. It is optimized to store output records that tend to be created one after another with ascending y coordinates, such as you would find in a scrolling window of text. The insertion and retrieval complexity of this class is roughly O(log n), but can break down to be O(n).

    (define-application-frame test ()
      ()
      (:panes
       (display :application 
    	    :output-record (make-instance 'standard-tree-output-record))
       (:layouts
        (:default display))))

    Next: Menus and Dialogs