anchor.diff:             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)))))
  +           finally (return (values (- min-x border)
  +                                   (- min-y border)
  +                                   (+ max-x border)
  +                                   (+ max-y border))))))
   
   (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)))))
  +      (values (- (min point-x1 point-x2) border)
  +              (- (min point-y1 point-y2) border)
  +              (+ (max point-x1 point-x2) border)
  +              (+ (max point-y1 point-y2) border)))))
   
   (def-grecording draw-lines (coord-seq)
     (with-transformed-positions (transform coord-seq)
  
positive.code:   (let ((method-name (intern (format nil "MEDIUM-~A*" name)))
  	(class-name (intern (format nil "~A-OUTPUT-RECORD" name)))
  	(medium (gensym "MEDIUM"))
  	(border (gensym "BORDER")))
      `(progn
         (defclass ,class-name (graphics-displayed-output-record-mixin)
  	 ,(compute-class-vars args))
  
negative.code: 
  (def-grecording draw-point (point-x point-y)
    (with-transformed-position (transform 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)
  