anchor.diff:  ;; Default input methods for static widgets
   ;; simply forward to parent widget
   ;; Dynamic widgets should override these to provided specific behavior
  -(defmethod gui-widget-mouse-down ((it gui-widget))
  +(defmethod gui-widget-mouse-down ((it gui-widget) btn)
     (when (parent-widget it)
  -    (gui-widget-mouse-down (parent-widget it))))
  -
  -(defmethod gui-widget-mouse-up ((it gui-widget))
  +    (gui-widget-mouse-down (parent-widget it) btn)))
  +
  +(defmethod gui-widget-mouse-up ((it gui-widget) btn)
     (when (parent-widget it)
  -    (gui-widget-mouse-up (parent-widget it))))
  +    (gui-widget-mouse-up (parent-widget it) btn)))
   
   (defmethod gui-widget-mouse-move ((it gui-widget) dx dy)
     (when (parent-widget it)
  
positive.code:   (call-next-method)
    (render-bitmap-string (- (+ (pos-x w)
                                (/ (width w) 2.0))
                             (/ (string-width (text w) (gui-font *gui*)) 2.0))
                          (- (gl-y w)
                             (/ (height w) 2.0)
                             (/ (string-height (text w) (gui-font *gui*)) 2.0))
                          (text w) (gui-font *gui*)))
  
  ;; (defclass gui-multiline-text (gui-label)
  ;;   ((nb-lines :accessor nb-lines :initform 10 :initarg :nb-lines)
  
negative.code:                :initform (create-color 1 1 1)))
    (:documentation "One line text"))
  
  (defmethod update-dimensions ((w gui-label))
    (setf (width w) (string-width (text w) (gui-widget-font w)))
    (setf (height w) (string-height (text w) (gui-widget-font w))))
  
  (defmethod (setf text) ((txt string) (w gui-label))
    (setf (slot-value w 'text) txt)
  