chiark / gitweb /
Major cleanup of ffi abstraction layer
[clg] / gdk / gdktypes.lisp
index a5e0e28fdc5c594db26a38dd2a5b320a656bdcdf..bbc2f9608a5171174e64d5bb4fbdec1370deeddc 100644 (file)
@@ -1,5 +1,5 @@
 ;; Common Lisp bindings for GTK+ v2.0
-;; Copyright (C) 1999-2000 Espen S. Johnsen <espejohn@online.no>
+;; Copyright (C) 1999-2001 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
 ;; License along with this library; if not, write to the Free Software
 ;; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 
-;; $Id: gdktypes.lisp,v 1.1 2000-08-14 16:44:41 espen Exp $
+;; $Id: gdktypes.lisp,v 1.8 2004-11-06 21:39:58 espen Exp $
 
 (in-package "GDK")
 
+(eval-when (:compile-toplevel :load-toplevel :execute)
+  (init-types-in-library #.(concatenate 'string
+                           (pkg-config:pkg-variable "gtk+-2.0" "libdir")
+                           "/libgdk-x11-2.0.so") :prefix "gdk_")
+  (init-types-in-library #.(concatenate 'string
+                           (pkg-config:pkg-variable "gtk+-2.0" "libdir")
+                           "/libgdk-x11-2.0.so") :prefix "_gdk_")
+  (init-types-in-library #.(concatenate 'string
+                           (pkg-config:pkg-variable "gtk+-2.0" "libdir")
+                           "/libgdk_pixbuf-2.0.so") :prefix "gdk_"))
 
-(defclass color (alien-object)
+
+(defclass color (boxed)
   ((pixel
     :allocation :alien
     :type unsigned-long)
@@ -30,170 +41,38 @@ (defclass color (alien-object)
     :type unsigned-short)
    (green
     :allocation :alien
-    :accessor color-grenn
+    :accessor color-green
     :type unsigned-short)
    (blue
     :allocation :alien
     :accessor color-blue
     :type unsigned-short))
-  (:metaclass alien-class)
+  (:metaclass boxed-class)
   (:alien-name "GdkColor"))
 
 
-(defclass visual (static-structure)
-  ()
-  (:metaclass alien-class)
-  (:alien-name "GdkVisual"))
-
-
-(defclass colormap (gobject)
-  ()
-  (:metaclass gobject-class)
-  (:alien-name "GdkColormap"))
+(eval-when (:compile-toplevel :load-toplevel :execute)
+  (define-types-by-introspection "Gdk"
+    ("GdkFunction" :type gc-function)
+    ("GdkGC" :type gc)
+    ("GdkDrawableImplX11" :ignore t)
+    ("GdkWindowImplX11" :ignore t)
+    ("GdkPixmapImplX11" :ignore t)
+    ("GdkGCX11" :ignore t)
+    ("GdkColor" :ignore t)
+    ("GdkEvent" :ignore t)))
 
 
-(defclass drawable (gobject)
-  ()
-  (:metaclass gobject-class)
-  (:alien-name "GdkDrawable"))
+(deftype bitmap () 'pixmap)
 
-
-(defclass window (drawable)
-  ()
-  (:metaclass gobject-class)
-  (:alien-name "GdkWindow")
-  (:type-init "gdk_window_object_get_type"))
-
-
-(defclass pixmap (drawable)
-  ()
-  (:metaclass gobject-class)
-  (:alien-name "GdkPixmap"))
-
-; (defclass bitmap (drawable))
-(deftype bitmap () 'pointer)
-
-; (defclass geometry (alien-structure)
-;   ((min-width
-;     :allocation :alien
-;     :accessor geometry-min-width
-;     :initarg :min-width
-;     :type int)  
-;    (min-height
-;     :allocation :alien
-;     :accessor geometry-min-height
-;     :initarg :min-heigth
-;     :type int)
-;    (max-width
-;     :allocation :alien
-;     :accessor geometry-max-width
-;     :initarg :max-width
-;     :type int)  
-;    (max-height
-;     :allocation :alien
-;     :accessor geometry-max-height
-;     :initarg :max-heigth
-;     :type int)
-;    (base-width
-;     :allocation :alien
-;     :accessor geometry-base-width
-;     :initarg :base-width
-;     :type int)
-;    (base-height
-;     :allocation :alien
-;     :accessor geometry-base-height
-;     :initarg :base-heigth
-;     :type int)
-;    (width-inc
-;     :allocation :alien
-;     :accessor geometry-width-inc
-;     :initarg :width-inc
-;     :type int)   
-;    (height-inc
-;     :allocation :alien
-;     :accessor geometry-height-inc
-;     :initarg :heigth-inc
-;     :type int)
-;    (min-aspect
-;     :allocation :alien
-;     :accessor geometry-min-aspect
-;     :initarg :min-aspect
-;     :type double-float)
-;    (max-aspect
-;     :allocation :alien
-;     :accessor geometry-max-aspect
-;     :initarg :max-aspect
-;     :type double-float))
-;   (:metaclass alien-class))
-  
-
-(defclass image (gobject)
-  ()
-  (:metaclass gobject-class)
-  (:alien-name "GdkImage"))
-
-
-(defclass gc (gobject)
-  ()
-  (:metaclass gobject-class)
-  (:alien-name "GdkGC"))
-
-
-(defclass font (alien-object)
-  ()
-  (:metaclass alien-class)
-  (:alien-name "GdkFont"))
-
-
-(defclass cursor (alien-object)
+(defclass cursor (struct)
   ((type
     :allocation :alien
     :accessor cursor-type
     :initarg :type
     :type cursor-type))
-  (:metaclass alien-class))
-
-
-(defclass drag-context (gobject)
-  ()
-  (:metaclass gobject-class)
-  (: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)
-   (send-event
-    :allocation :alien
-    :accessor event-send-event
-    :initarg :send-event
-    :type (signed 8)))
-  (:metaclass alien-class)
-  (:alien-name "GdkEvent"))
-
-
-(defclass expose-event (event)
-  ()
-  (:metaclass alien-class))
-
+  (:metaclass struct-class))
 
-(defclass delete-event (event)
+(defclass device (struct)
   ()
-  (:metaclass alien-class))
-
-
-
-
-;(define-boxed device-key)
-;(define-boxed device-info)
-;(define-boxed time-coord)
-;(define-boxed ic)
-;(define-boxed ic-attr)
-
+  (:metaclass struct-class))