anchor.diff:                                :relative-position :centre)))
           *screens*))
   
  +(defun screen-size ()
  +  (when *screens*
  +    (let* ((screen (first *screens*))
  +           (fb (screen-backbuffer screen))
  +           (dims (array-dimensions fb))
  +           (width (second dims))
  +           (height (first dims)))
  +      (values width height))))
  +
   (defmacro with-window ((window title width height &optional (class ''window)) &body body)
     `(let ((,window nil))
        (unwind-protect
  
positive.code:           (slot-value instance 'backbuffer) (make-array (list (+ height top bottom) (+ width left right))
                                                          :element-type '(unsigned-byte 32)))))
  
  (defclass window-with-chrome (window) ())
  
  (defmethod compute-window-margins ((window window-with-chrome))
    (values 1 1 19 1))
  
  (defgeneric window-redraw (window))
  
  (defmethod window-redraw :before ((window window-with-chrome))
    (let* ((fb (window-backbuffer window))
  
negative.code:            (dims (array-dimensions src-buffer))
             (width (second dims))
             (height (first dims)))
        (bitblt height width src-buffer 0 0 fb y x))))
  
  (defun compose-all-displays ()
    (when *screens*
  