From e34e751a34186facd9ec315862832ad586a8e016 Mon Sep 17 00:00:00 2001 From: espen Date: Fri, 11 May 2001 16:17:21 +0000 Subject: [PATCH] Most types are now defined by introspection --- gdk/gdktypes.lisp | 405 +++--------------------------------------------------- 1 file changed, 21 insertions(+), 384 deletions(-) diff --git a/gdk/gdktypes.lisp b/gdk/gdktypes.lisp index 447b611..8d158e5 100644 --- a/gdk/gdktypes.lisp +++ b/gdk/gdktypes.lisp @@ -1,5 +1,5 @@ ;; Common Lisp bindings for GTK+ v2.0 -;; Copyright (C) 1999-2000 Espen S. Johnsen +;; Copyright (C) 1999-2001 Espen S. Johnsen ;; ;; This library is free software; you can redistribute it and/or ;; modify it under the terms of the GNU Lesser General Public @@ -15,12 +15,13 @@ ;; 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.2 2001-02-11 20:28:07 espen Exp $ +;; $Id: gdktypes.lisp,v 1.3 2001-05-11 16:17:21 espen Exp $ (in-package "GDK") +(init-types-in-library "/opt/gnome/lib/libgdk-x11-1.3.so") -(defclass color (alien-structure) +(defclass color (boxed) ((pixel :allocation :alien :type unsigned-long) @@ -36,398 +37,34 @@ :allocation :alien :accessor color-blue :type unsigned-short)) - (:metaclass alien-class) - (:alien-name "GdkColor")) + (:metaclass boxed-class)) -(defclass visual (static-structure) - () - (:metaclass alien-class) - (:alien-name "GdkVisual")) - - -(defclass colormap (gobject) - () - (:metaclass gobject-class) - (:alien-name "GdkColormap")) - - -(defclass drawable (gobject) - () - (:metaclass gobject-class) - (:alien-name "GdkDrawable")) - - -(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")) - -;; Bitmaps is not defined as a propper type in gdk, only as an alias for -;; GdkDrawable, so we have to define it this way as a workaround -(defclass bitmap (alien-object) - () - (:metaclass alien-class)) - - -; (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")) +(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 font (alien-object) - () - (:metaclass alien-class) - (:alien-name "GdkFont")) +(deftype bitmap () 'pixmap) -(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 device (alien-structure) - () - (:metaclass alien-class)) - -(defclass event (alien-structure) - ((window - :allocation :alien - :offset #.(size-of 'pointer) - :accessor event-window - :initarg :window - :type window) - (send-event - :allocation :alien - :accessor event-send-event - :initarg :send-event - :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) - ((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)) + (:metaclass proxy-class) + (:copy %cursor-copy) + (:free %cursor-free)) -(defclass scroll-event (timed-event) +(defclass device (struct) () - (:metaclass alien-class)) + (:metaclass proxy-class)) -- 2.11.0