anchor.diff:  
   ; Push Button
   
  +; why does this inherit from slider-pane?
   (defclass pixie-push-button-pane  (pixie-gadget push-button-pane slider-pane) (
     (dragging
       :initform nil)))
  +
  +(defmethod compose-space ((gadget pixie-push-button-pane) &key width height)
  +  (declare (ignore width height))
  +  (space-requirement+* (space-requirement+* (compose-label-space gadget)
  +                                            :min-width (* 2 (pane-x-spacing gadget))
  +                                            :width (* 2 (pane-x-spacing gadget))
  +                                            :max-width (* 2 (pane-x-spacing gadget))
  +                                            :min-height (* 2 (pane-y-spacing gadget))
  +                                            :height (* 2 (pane-y-spacing gadget))
  +                                            :max-height (* 2 (pane-y-spacing gadget)))
  +                       :min-width  (* 2 *3d-border-thickness*)
  +                       :width      (* 2 *3d-border-thickness*)
  +                       :max-width  (* 2 *3d-border-thickness*)
  +                       :min-height (* 2 *3d-border-thickness*)
  +                       :height     (* 2 *3d-border-thickness*)
  +                       :max-height (* 2 *3d-border-thickness*)))
   
   ; factor out the dragging code into a mixin
   (defmethod handle-event ((pane pixie-push-button-pane) (event pointer-enter-event))
     (with-slots (armed dragging) pane
       (cond
        ((not armed)
  -(print "arming")
         (setf armed t)
         (armed-callback pane (gadget-client pane) (gadget-id pane)))
        (dragging
  
positive.code:    (drag-delta
       :initform 0)
     (bounce-value
       :initform 0))
    (:default-initargs
      :border-style :inset
      :border-width 1))
  
  (defmethod vertical-gadget-orientation-transformation ((pane gadget))
    (ecase (gadget-orientation pane)
  
negative.code:                                        :border-width 1)))
              ;; draw thumb
              (with-bounding-rectangle* (x1 y1 x2 y2) (gadget-thumb-region pane)
                (draw-up-box pane x1 y1 x2 y2 (effective-gadget-foreground pane))
                ;; draw decoration in the thumb
                (let* ((middle (/ (+ y1 y2) 2))
                       (y1     (- middle 1))
                       (y2     middle)
                       (x1     (+ x1 2))
                       (x2     (- x2 3)))
                  (draw-line* pane x1 y1 x2 y1       :ink +gray58+)
                  (draw-line* pane x1 y2 (+ x2 1) y2 :ink +white+)
                  (draw-line* pane x2 y1 x2 (+ y2 1) :ink +white+)))))))))
  
  ; Scrollbar
  
  