anchor.diff:  
   (def-grecording draw-point (point-x point-y)
     (with-transformed-position (transform point-x point-y)
  -     (values point-x point-y point-x point-y)))
  +     (values (- point-x border)
  +             (- point-y border)
  +             (+ point-x border)
  +             (+ point-y border))))
   
   (def-grecording draw-points (coord-seq)
     (with-transformed-positions (transform coord-seq)
  
positive.code:            minimize y into min-y
             maximize x into max-x
             maximize y into max-y
             finally (return (values min-x min-y max-x max-y)))))
  
  (def-grecording draw-line (point-x1 point-y1 point-x2 point-y2)
    (with-transformed-position (transform point-x1 point-y1)
      (with-transformed-position (transform point-x2 point-y2)
        (values (min point-x1 point-x2) (min point-y1 point-y2)
                (max point-x1 point-x2) (max point-y1 point-y2)))))
  
  (def-grecording draw-lines (coord-seq)
    (with-transformed-positions (transform coord-seq)
  
negative.code:            minimize y into min-y
             maximize x into max-x
             maximize y into max-y
             finally (return (if filled
                                 (values min-x min-y max-x max-y)
                                 (values (- min-x border)
                                         (- min-y border)
                                         (+ max-x border)
                                         (+ max-y border)))))))
  
  (def-grecording draw-rectangle (left top right bottom filled)
    ;; FIXME!!! If the rectangle is a line/point, MAKE-RECTANGLE* gives +NOWHERE+,
    ;; and BOUNDING-RECTANGLE* signals an error.
    (multiple-value-bind (min-x min-y max-x max-y)
        (bounding-rectangle* (transform-region transform
                                               (make-rectangle*
                                                left top right bottom)))
      (if filled
          (values min-x min-y max-x max-y)
          (values (- min-x border)
                  (- min-y border)
                  (+ max-x border)
                  (+ max-y border)))))
  
  (def-grecording draw-ellipse (center-x center-y
  			      radius-1-dx radius-1-dy radius-2-dx radius-2-dy
  			      start-angle end-angle filled)
    (multiple-value-bind (min-x min-y max-x max-y)
        (bounding-rectangle*
         (transform-region transform
                           (make-ellipse* center-x center-y
                                          radius-1-dx radius-1-dy
                                          radius-2-dx radius-2-dy
                                          :start-angle start-angle
                                          :end-angle end-angle)))
      (if filled
          (values min-x min-y max-x max-y)
          (values (- min-x border)
                  (- min-y border)
                  (+ max-x border)
                  (+ max-y border)))))
  
  (def-grecording draw-text (string point-x point-y start end
  			   align-x align-y toward-x toward-y transform-glyphs)
    ;; FIXME!!! Text direction.
    ;; Multiple lines?
   (let* ((width (stream-string-width stream string
                                      :start start :end end
  