anchor.diff:  ;; TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
   ;; SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
   
  -;; $Id: gdk.lisp,v 1.24 2006-04-10 18:38:42 espen Exp $
  +;; $Id: gdk.lisp,v 1.25 2006-04-11 18:28:38 espen Exp $
   
   
   (in-package "GDK")
  
positive.code:      %green (%scale-value green)
       %blue (%scale-value blue))))
  
  (defbinding color-parse (spec &optional (make-instance 'color)) boolean
    (spec string)
    (color color :return))
  
  (defun ensure-color (color)
    (etypecase color
      (null nil)
      (color color)
      (vector
       (make-instance 'color 
        :red (svref color 0) :green (svref color 1) :blue (svref color 2)))
      (string
       (multiple-value-bind (succeeded-p color) (parse-color color)
         (if succeeded-p
  	   color
  	 (error "Parsing color specification ~S failed." color))))))
         
  
    
  ;;; Drawable
  
negative.code:     (float (truncate (* value 65535)))))
  
  (defmethod initialize-instance ((color color) &rest initargs
  				&key (red 0.0) (green 0.0) (blue 0.0))
    (declare (ignore initargs))
    (call-next-method)
    (with-slots ((%red red) (%green green) (%blue blue)) color
  