anchor.diff:              :value 1.0d0
               :show-value-p t
               :orientation :horizontal
  -            :drag-callback #'y-scale-callback
  +            :drag-callback 'y-scale-callback
               :value-changed-callback 'y-scale-callback)
      (x-scale :slider
               :min-value 0.1
  
positive.code:   (let ((viewer (find-pane-named *application-frame* 'spectacle-pane)))
      (with-accessors ((image image)
                       (transform-parameters transform-parameters)
                       (transform transform))
          viewer
        (let ((param 5))
          (unless (equal (elt transform-parameters param) shear)
            (setf (elt transform-parameters param) shear
                  transform nil)
            (handle-repaint viewer (or (pane-viewport-region viewer)
                                       (sheet-region viewer))))))))
  
  
negative.code:               (setf (gadget-value y-scale-slider) scale
                      (elt transform-parameters y-scale-param) scale)))
            (setf (elt transform-parameters x-scale-param) scale
                  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))))))))
  
  