anchor.diff:                                       :fifo fifo
                                        :window window
                                        :frame frame
  +                                     :font (mezzano.gui.font:open-font
  +                                            mezzano.gui.font:*default-monospace-font*
  +                                            mezzano.gui.font:*default-monospace-font-size*)
                                        :mode :graphs
  -                                     :samplers (list (make-instance 'graph-sampler
  -                                                                    :function 'general-area-usage
  -                                                                    :colour theme:*memory-monitor-general-area-usage*
  -                                                                    :name "General area usage")
  -                                                     (make-instance 'graph-sampler
  -                                                                    :function 'general-area-alloc
  -                                                                    :colour theme:*memory-monitor-general-area-alloc*
  -                                                                    :name "General area bytes allocated"
  -                                                                    :scale t)
  -                                                     (make-instance 'graph-sampler
  -                                                                    :function 'general-area-commit
  -                                                                    :colour theme:*memory-monitor-general-area-commit*
  -                                                                    :name "General area bytes committed"
  -                                                                    :scale t)
  -                                                     (make-instance 'graph-sampler
  -                                                                    :function 'cons-area-usage
  -                                                                    :colour theme:*memory-monitor-cons-area-usage*
  -                                                                    :name "Cons area usage")
  -                                                     (make-instance 'graph-sampler
  -                                                                    :function 'cons-area-alloc
  -                                                                    :colour theme:*memory-monitor-cons-area-alloc*
  -                                                                    :name "Cons area bytes allocated"
  -                                                                    :scale t)
  -                                                     (make-instance 'graph-sampler
  -                                                                    :function 'cons-area-commit
  -                                                                    :colour theme:*memory-monitor-cons-area-commit*
  -                                                                    :name "Cons area bytes committed"
  -                                                                    :scale t)
  -                                                     (make-instance 'graph-sampler
  -                                                                    :function 'pinned-area-usage
  -                                                                    :colour theme:*memory-monitor-pinned-area-usage*
  -                                                                    :name "Pinned area usage")
  -                                                     (make-instance 'graph-sampler
  -                                                                    :function 'wired-area-usage
  -                                                                    :colour theme:*memory-monitor-wired-area-usage*
  -                                                                    :name "Wired area usage")
  -                                                     (make-instance 'graph-sampler
  -                                                                    :function 'function-area-usage
  -                                                                    :colour theme:*memory-monitor-function-area-usage*
  -                                                                    :name "Function area usage")
  -                                                     (make-instance 'graph-sampler
  -                                                                    :function 'wired-function-area-usage
  -                                                                    :colour theme:*memory-monitor-wired-function-area-usage*
  -                                                                    :name "Wired function area usage")))))
  +                                     :samplers (make-graph-samplers))))
               (mezzano.gui.widgets:draw-frame frame)
               (mezzano.gui.compositor:damage-window window
                                                     0 0
  
positive.code:             (loop
                 (multiple-value-bind (left right top bottom)
                     (mezzano.gui.widgets:frame-size frame)
                   (let ((framebuffer (mezzano.gui.compositor:window-buffer window))
                         (width (- (mezzano.gui.compositor:width window) left right))
                         (height (- (mezzano.gui.compositor:height window) top bottom)))
                     (catch 'redraw
                       (ecase (mode app)
                         (:physical-visualizer
                          (update-display framebuffer left top width height)
                          (mezzano.gui.compositor:damage-window window
                                                                left top
                                                                width height)
  
negative.code:   ((%frame :initarg :frame :accessor frame)
     (%window :initarg :window :accessor window)
     (%fifo :initarg :fifo :accessor fifo)
     (%font :initarg :font :accessor font)
     (%mode :initarg :mode :accessor mode)
     (%samplers :initarg :samplers :accessor samplers)
     (%graph-column :initform 0 :accessor graph-column)))
  