anchor.diff:            (x1 dimensions) x1
             (y1 dimensions) y1
             (x2 dimensions) x2
  -          (y2 dimensions) y2)))
  +          (y2 dimensions) y2
  +          (center dimensions) center)))
   
   (defun stroke-drawing-fn (stream view stroke cursor-x cursor-y)
     "Draw `stroke' to `stream' at the position (`cursor-x',
  
positive.code:                    (drawing-options stroke-drawing-options)) stroke
      (let* ((stroke-string (in-place-buffer-substring
                             (buffer view) (cache-string view)
                             start-offset end-offset)))
        (with-accessors ((x1 x1) (y1 y1) (x2 x2) (y2 y2)) dimensions
          (multiple-value-bind (width height) (if (stroke-modified stroke)
                                                  (text-size stream stroke-string
                                                   :text-style (merge-text-styles
                                                                (face-style (drawing-options-face drawing-options))
                                                                (medium-merged-text-style (sheet-medium stream))))
                                                  (values (- x2 x1) (- y2 y1)))
            (clear-rectangle* stream cursor-x cursor-y
                              (+ cursor-x width) (+ cursor-y height
                                                    (stream-vertical-spacing stream)))
            (draw-text* stream stroke-string cursor-x cursor-y
             :text-style (face-style (drawing-options-face drawing-options))
             :ink (face-ink (drawing-options-face drawing-options))
             :align-y :top)
            (record-stroke stroke cursor-x cursor-y (+ width cursor-x)
                           (+ (if (zerop height)
                                  (text-style-height (medium-text-style stream) stream)
                                  height)
                              cursor-y)))))))
  
  (defun draw-stroke (stream view stroke cursor-x cursor-y line-height)
    "Draw `stroke' on `stream' at (`cursor-x', `cursor-y'). Nothing
  
negative.code:       (incf (line-stroke-count line))
        (setf (line-end-offset line) (stroke-end-offset stroke)))))
  
  (defun record-stroke (stroke x1 y1 x2 y2
                        &optional (center (/ (- y2 y1) 2)))
    "Record the fact that `stroke' has been drawn, and that it
  covers the specified area on screen. Updates the dirty- and
  modified-bits of `stroke' as well as the dimensions."
  