anchor.diff:      :allocation :alien
       :accessor event-send-event
       :initarg :send-event
  -    :type (signed 8)))
  +    :type (boolean 8))
  +   (%align :allocation :alien :offset 2 :type (unsigned 8)))
     (:metaclass alien-class)
     (:alien-name "GdkEvent"))
   
  +(defclass timed-event (event)
  +  ((time
  +    :allocation :alien
  +    :accessor event-time
  +    :initarg :time
  +    :type (unsigned 32)))
  +  (:metaclass alien-class))
  +  
  +(defclass delete-event (event)
  +  ()
  +  (:metaclass alien-class))
  +
  +(defclass destroy-event (event)
  +  ()
  +  (:metaclass alien-class))
   
   (defclass expose-event (event)
  -  ()
  -  (:metaclass alien-class))
  -
  -
  -(defclass delete-event (event)
  -  ()
  -  (:metaclass alien-class))
  -
  -
  -
  -
  -;(define-boxed device-key)
  -;(define-boxed device-info)
  -;(define-boxed time-coord)
  -;(define-boxed ic)
  -;(define-boxed ic-attr)
  -
  +  ((x
  +    :allocation :alien
  +    :accessor event-x
  +    :initarg :x
  +    :type int)
  +   (y
  +    :allocation :alien
  +    :accessor event-y
  +    :initarg :y
  +    :type int)
  +   (width
  +    :allocation :alien
  +    :accessor event-width
  +    :initarg :width
  +    :type int)
  +   (height
  +    :allocation :alien
  +    :accessor event-height
  +    :initarg :height
  +    :type int)
  +   (count
  +    :allocation :alien
  +    :accessor event-count
  +    :initarg :count
  +    :type int))
  +  (:metaclass alien-class))
  +
  +(defclass motion-notify-event (timed-event)
  +  ((x
  +    :allocation :alien
  +    :accessor event-x
  +    :initarg :x
  +    :type double-float)
  +   (y
  +    :allocation :alien
  +    :accessor event-y
  +    :initarg :y
  +    :type double-float)
  +   (state
  +    :allocation :alien
  +    :offset #.(size-of 'pointer)
  +    :accessor event-state
  +    :initarg :state
  +    :type unsigned-int)
  +   (is-hint
  +    :allocation :alien
  +    :accessor event-is-hint
  +    :initarg :is-hint
  +    :type (signed 16) ; should it be (boolean 16)?
  +    )
  +   (device
  +    :allocation :alien
  +    :offset 2
  +    :accessor event-device
  +    :initarg :device
  +    :type device)
  +   (root-x
  +    :allocation :alien
  +    :accessor event-root-x
  +    :initarg :root-x
  +    :type double-float)
  +   (root-y
  +    :allocation :alien
  +    :accessor event-root-y
  +    :initarg :root-y
  +    :type double-float))
  +  (:metaclass alien-class))
  +
  +(defclass button-press-event (timed-event)
  +  ((x
  +    :allocation :alien
  +    :accessor event-x
  +    :initarg :x
  +    :type double-float)
  +   (y
  +    :allocation :alien
  +    :accessor event-y
  +    :initarg :y
  +    :type double-float)
  +   (state
  +    :allocation :alien
  +    :offset #.(size-of 'pointer)
  +    :accessor event-state
  +    :initarg :state
  +    :type modifier-type)
  +   (button
  +    :allocation :alien
  +    :accessor event-button
  +    :initarg :button
  +    :type unsigned-int)
  +   (device
  +    :allocation :alien
  +    :accessor event-device
  +    :initarg :device
  +    :type device)
  +   (root-x
  +    :allocation :alien
  +    :accessor event-root-x
  +    :initarg :root-x
  +    :type double-float)
  +   (root-y
  +    :allocation :alien
  +    :accessor event-root-y
  +    :initarg :root-y
  +    :type double-float))
  +  (:metaclass alien-class))
  +
  +(defclass 2-button-press-event (button-press-event)
  +  ()
  +  (:metaclass alien-class))
  +
  +(defclass 3-button-press-event (button-press-event)
  +  ()
  +  (:metaclass alien-class))
  +
  +(defclass button-release-event (button-press-event)
  +  ()
  +  (:metaclass alien-class))
  +
  +(defclass key-press-event (event)
  +  ()
  +  (:metaclass alien-class))
  +
  +(defclass key-release-event (event)
  +  ()
  +  (:metaclass alien-class))
  +
  +(defclass enter-notify-event (event)
  +  ()
  +  (:metaclass alien-class))
  +
  +(defclass leave-notify-event (event)
  +  ()
  +  (:metaclass alien-class))
  +
  +(defclass focus-change-event (event)
  +  ()
  +  (:metaclass alien-class))
  +
  +(defclass configure-event (event)
  +  ((x
  +    :allocation :alien
  +    :accessor event-x
  +    :initarg :x
  +    :type int)
  +   (y
  +    :allocation :alien
  +    :accessor event-y
  +    :initarg :y
  +    :type int)
  +   (width
  +    :allocation :alien
  +    :accessor event-width
  +    :initarg :width
  +    :type int)
  +   (height
  +    :allocation :alien
  +    :accessor event-height
  +    :initarg :height
  +    :type int))
  +  (:metaclass alien-class))
  +
  +(defclass map-event (event)
  +  ()
  +  (:metaclass alien-class))
  +
  +(defclass unmap-event (event)
  +  ()
  +  (:metaclass alien-class))
  +
  +(defclass property-notify-event (event)
  +  ()
  +  (:metaclass alien-class))
  +
  +(defclass selection-clear-event (event)
  +  ()
  +  (:metaclass alien-class))
  +
  +(defclass selection-request-event (event)
  +  ()
  +  (:metaclass alien-class))
  +
  +(defclass selection-notify-event (event)
  +  ()
  +  (:metaclass alien-class))
  +
  +(defclass drag-enter-event (event)
  +  ()
  +  (:metaclass alien-class))
  +
  +(defclass drag-leave-event (event)
  +  ()
  +  (:metaclass alien-class))
  +
  +(defclass drag-motion-event (event)
  +  ()
  +  (:metaclass alien-class))
  +
  +(defclass drag-status-event (event)
  +  ()
  +  (:metaclass alien-class))
  +
  +(defclass drag-start-event (event)
  +  ()
  +  (:metaclass alien-class))
  +
  +(defclass drag-finished-event (event)
  +  ()
  +  (:metaclass alien-class))
  +
  +(defclass client-event (event)
  +  ()
  +  (:metaclass alien-class))
  +
  +(defclass visibility-notify-event (event)
  +  ((state
  +    :allocation :alien
  +    :accessor event-state
  +    :initarg :state
  +    :type visibility-state))
  +  (:metaclass alien-class))
  +
  +(defclass no-expose-event (event)
  +  ()
  +  (:metaclass alien-class))
  +
  +(defclass scroll-event (timed-event)
  +  ()
  +  (:metaclass alien-class))
  +
  
positive.code:   (:alien-name "GdkDragContext"))
  
  
  (defclass event (alien-structure)
    ((type
      :allocation :alien
  ;    :accessor event-type
      :type event-type)
     (window
      :allocation :alien
      :accessor event-window
      :initarg :window
      :type window)
  
negative.code: ;; Common Lisp bindings for GTK+ v2.0
  ;; Copyright (C) 1999-2000 Espen S. Johnsen <esj@stud.cs.uit.no>
  ;;
  ;; This library is free software; you can redistribute it and/or
  ;; modify it under the terms of the GNU Lesser General Public
  