Update of /project/cells-gtk/cvsroot/root/gtk-ffi In directory common-lisp.net:/tmp/cvs-serv16190/root/gtk-ffi
Modified Files: gtk-ffi.lisp Log Message: Added motion and expose event structures (useful for DrawingArea). A few defines for SBCL port. Date: Sat Oct 8 16:48:03 2005 Author: pdenno
Index: root/gtk-ffi/gtk-ffi.lisp diff -u root/gtk-ffi/gtk-ffi.lisp:1.12 root/gtk-ffi/gtk-ffi.lisp:1.13 --- root/gtk-ffi/gtk-ffi.lisp:1.12 Sun May 29 23:19:58 2005 +++ root/gtk-ffi/gtk-ffi.lisp Sat Oct 8 16:48:03 2005 @@ -17,8 +17,7 @@ |#
-(defpackage :gtk-ffi (:use :lisp #-clisp :ffx - #+clisp :ffi #-clisp :uffi)) +(defpackage :gtk-ffi (:use #-sbcl :lisp #+sbcl :cl :utils-kt #-clisp :ffx #+clisp :ffi #-clisp :uffi))
(in-package :gtk-ffi)
@@ -80,7 +79,7 @@ (loadit "libgdk-x11-2.0.so" :gdk) (loadit "libgtk-x11-2.0.so" :gtk) #+libcellsgtk(loadit "libcellsgtk.so" :cgtk)))) - #+cmu(load-gtk-libs) + #+(or cmu sbcl)(load-gtk-libs) (defun ffi-to-uffi-type (clisp-type) #+clisp clisp-type #-clisp (if (consp clisp-type) @@ -256,13 +255,39 @@ (hardware-keycode uint16) (group uint8))
+(def-c-struct gdk-event-expose + (type int) + (window c-pointer) + (send-event uint8) + ;; This is probably wrong. alignment issues... + (area-x int) + (area-y int) + (area-width int) + (area-height int) + (region c-pointer) + (count int)) + +(def-c-struct gdk-event-motion + (type int) + (window c-pointer) + (send-event uint8) + (time int) + (x double-float) + (y double-float) + (axes c-pointer) + (state int) + (is-hint uint16) + (device c-pointer) + (x-root double-float) + (y-root double-float)) + (defun event-type (event) (ecase event (-1 :nothing) (0 :delete) (1 :destroy) (2 :expose) - (3 :notify) + (3 :notify) ; that is, pointer motion notify (4 :button_press) (5 :2button_press) (6 :3button_press)