X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~mdw/git/clg/blobdiff_plain/9adccb27da69b60d058aa37867d55ea20ecf97ca..73572c12ccd49c661d06287903bfa725f5fd93a5:/gdk/gdktypes.lisp diff --git a/gdk/gdktypes.lisp b/gdk/gdktypes.lisp index bbc2f96..9aef2b6 100644 --- a/gdk/gdktypes.lisp +++ b/gdk/gdktypes.lisp @@ -15,7 +15,7 @@ ;; 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.8 2004-11-06 21:39:58 espen Exp $ +;; $Id: gdktypes.lisp,v 1.12 2005-02-03 23:09:07 espen Exp $ (in-package "GDK") @@ -51,28 +51,202 @@ (defclass color (boxed) (:alien-name "GdkColor")) -(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))) +(deftype point () '(vector int 2)) +(deftype segment () '(vector int 4)) +(deftype trapezoid () '(vector double-float 6)) +(deftype atom () 'unsigned-int) + + +;; Could this just as well have been a vector? +(defclass rectangle (boxed) + ((x + :allocation :alien + :accessor rectangle-x + :initarg :x + :type int) + (y + :allocation :alien + :accessor rectangle-y + :initarg :y + :type int) + (width + :allocation :alien + :accessor rectangle-width + :initarg :width + :type int) + (height + :allocation :alien + :accessor rectangle-height + :initarg :height + :type int)) + (:metaclass boxed-class) + (:alien-name "GdkRectangle")) + + +(define-types-by-introspection "Gdk" + ("GdkFunction" :type gc-function) + ("GdkWMDecoration" :type wm-decoration) + ("GdkWMFunction" :type wm-function) + ("GdkGC" :type gc) + ("GdkGCX11" :type gc-x11) + ("GdkGCValuesMask" :type gc-values-mask) + ("GdkDrawableImplX11" :ignore t) + ("GdkWindowImplX11" :ignore t) + ("GdkPixmapImplX11" :ignore t) + ("GdkGCX11" :ignore t) + ("GdkColor" :ignore t) + ("GdkEvent" :ignore t) + ("GdkRectngle" :ignore t) + ("GdkCursor" :ignore t) + ("GdkFont" :ignore t) ; deprecated + + ("GdkDrawable" + :slots + ((display + :allocation :virtual + :getter "gdk_drawable_get_display" + :reader drawable-display + :type display) + (screen + :allocation :virtual + :getter "gdk_drawable_get_screen" + :reader drawable-screen + :type screen) + (visual + :allocation :virtual + :getter "gdk_drawable_get_visual" + :reader drawable-visual + :type visual) + (colormap + :allocation :virtual + :getter "gdk_drawable_get_colormap" + :setter "gdk_drawable_set_colormap" + :unbound nil + :accessor drawable-colormap + :initarg :colormap + :type colormap) + (depth + :allocation :virtual + :getter "gdk_drawable_get_depth" + :reader drawable-depth + :type int) + (with + :allocation :virtual + :getter drawable-width) + (height + :allocation :virtual + :getter drawable-height))) + + ("GdkWindow" + :slots + ((state + :allocation :virtual + :getter "gdk_window_get_state" + :reader window-state + :type window-state) + (parent + :allocation :virtual + :getter "gdk_window_get_parent" + :reader window-parent + :type window) + (toplevel + :allocation :virtual + :getter "gdk_window_get_toplevel" + :reader window-toplevel + :type window) + (children + :allocation :virtual + :getter "gdk_window_get_children" + :reader window-children + :type (glist window)) + (events + :allocation :virtual + :getter "gdk_window_get_events" + :setter "gdk_window_set_events" + :accessor window-events + :type event-mask) + (group + :allocation :virtual + :getter "gdk_window_get_group" + :setter "gdk_window_set_group" + :unbound nil + :accessor window-group + :type window)))) (deftype bitmap () 'pixmap) -(defclass cursor (struct) +(defclass cursor (boxed) ((type :allocation :alien - :accessor cursor-type - :initarg :type - :type cursor-type)) - (:metaclass struct-class)) + :reader cursor-type + :type cursor-type) + (ref-count + :allocation :alien + :type unsigned-int) + (display + :allocation :virtual + :getter "gdk_cursor_get_display" + :reader cursor-display + :type display)) + (:metaclass boxed-class) + (:alien-name "GdkColor")) + -(defclass device (struct) - () +(defclass geometry (struct) + ((min-width + :allocation :alien + :accessor geometry-min-width + :initarg :min-width + :type int) + (min-height + :allocation :alien + :accessor geometry-min-height + :initarg :min-height + :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-height + :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-height + :type int) + (width-inc + :allocation :alien + :accessor geometry-width-inc + :initarg :width-inc + :type int) + (height-inc + :allocation :alien + :accessor geometry-height-inc + :initarg :height-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) + (gravity + :allocation :alien + :accessor geometry-gravity + :initarg :gravity + :type gravity)) (:metaclass struct-class))