anchor.diff:                (setf (gadget-value x-scale-slider) scale
                       (elt transform-parameters x-scale-param) scale)))
             (setf (elt transform-parameters y-scale-param) scale
  -                transform nil)
  +                transform nil
  +                ;; FIXME! This isn't strictly needed unless we're
  +                ;; resizing the image to be smaller than the screen --
  +                ;; we should fix this by clearing the screen in
  +                ;; handle-repaint if we're not completely drawing over
  +                ;; the viewport!
  +                clear-background-needed-p t)
             (handle-repaint viewer (or (pane-viewport-region viewer)
                                        (sheet-region viewer))))))))
   
  
positive.code:   ((image :initarg :image :accessor image)
     (transform-parameters :accessor transform-parameters :initarg :transform-parameters)
     (transform :accessor transform :initarg :transform)
     (lock-x-and-y-scale :accessor lock-x-and-y-scale :initarg :lock-x-and-y-scale))
    (:default-initargs :image nil
      :transform-parameters #(1d0 1d0 0d0 0d0 0d0 0d0 0d0)
      :lock-x-and-y-scale t
      :transform nil))
  
  (defun y-scale-callback (gadget scale)
  
negative.code:           :value 0
            :show-value-p t
            :orientation :horizontal
            :drag-callback 'theta-callback
            :value-changed-callback 'theta-callback)
     (y-shear :slider
              :min-value -5
  