-;(define-boxed device-key)
-;(define-boxed device-info)
-;(define-boxed time-coord)
-;(define-boxed ic)
-;(define-boxed ic-attr)
+(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))