1 ;; Common Lisp bindings for GTK+ v2.0
2 ;; Copyright (C) 1999-2001 Espen S. Johnsen <esj@stud.cs.uit.no>
4 ;; This library is free software; you can redistribute it and/or
5 ;; modify it under the terms of the GNU Lesser General Public
6 ;; License as published by the Free Software Foundation; either
7 ;; version 2 of the License, or (at your option) any later version.
9 ;; This library is distributed in the hope that it will be useful,
10 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
11 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 ;; Lesser General Public License for more details.
14 ;; You should have received a copy of the GNU Lesser General Public
15 ;; License along with this library; if not, write to the Free Software
16 ;; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 ;; $Id: gdktypes.lisp,v 1.14 2005-02-26 10:44:09 espen Exp $
22 (eval-when (:compile-toplevel :load-toplevel :execute)
23 (init-types-in-library #.(concatenate 'string
24 (pkg-config:pkg-variable "gtk+-2.0" "libdir")
25 "/libgdk-x11-2.0.so") :prefix "gdk_")
26 (init-types-in-library #.(concatenate 'string
27 (pkg-config:pkg-variable "gtk+-2.0" "libdir")
28 "/libgdk-x11-2.0.so") :prefix "_gdk_")
29 (init-types-in-library #.(concatenate 'string
30 (pkg-config:pkg-variable "gtk+-2.0" "libdir")
31 "/libgdk_pixbuf-2.0.so") :prefix "gdk_"))
34 (defclass color (boxed)
49 :type unsigned-short))
50 (:metaclass boxed-class)
51 (:alien-name "GdkColor"))
54 (deftype point () '(vector int 2))
55 (deftype segment () '(vector int 4))
56 (deftype trapezoid () '(vector double-float 6))
57 (deftype atom () 'unsigned-int)
60 ;; Could this just as well have been a vector?
61 (defclass rectangle (boxed)
74 :accessor rectangle-width
79 :accessor rectangle-height
82 (:metaclass boxed-class)
83 (:alien-name "GdkRectangle"))
86 (define-types-by-introspection "Gdk"
87 ("GdkFunction" :type gc-function)
88 ("GdkWMDecoration" :type wm-decoration)
89 ("GdkWMFunction" :type wm-function)
91 ("GdkGCX11" :type gc-x11)
92 ("GdkGCValuesMask" :type gc-values-mask)
93 ("GdkDrawableImplX11" :ignore t)
94 ("GdkWindowImplX11" :ignore t)
95 ("GdkPixmapImplX11" :ignore t)
96 ("GdkGCX11" :ignore t)
97 ("GdkColor" :ignore t)
98 ("GdkEvent" :ignore t)
99 ("GdkRectngle" :ignore t)
100 ("GdkCursor" :ignore t)
101 ("GdkFont" :ignore t) ; deprecated
102 ("GdkEventMask" :ignore t) ; manually defined
108 :getter "gdk_drawable_get_display"
109 :reader drawable-display
113 :getter "gdk_drawable_get_screen"
114 :reader drawable-screen
118 :getter "gdk_drawable_get_visual"
119 :reader drawable-visual
123 :getter "gdk_drawable_get_colormap"
124 :setter "gdk_drawable_set_colormap"
126 :accessor drawable-colormap
131 :getter "gdk_drawable_get_depth"
132 :reader drawable-depth
136 :getter drawable-width)
139 :getter drawable-height)))
145 :getter "gdk_window_get_state"
150 :getter "gdk_window_get_parent"
151 :reader window-parent
155 :getter "gdk_window_get_toplevel"
156 :reader window-toplevel
160 :getter "gdk_window_get_children"
161 :reader window-children
162 :type (glist window))
165 :getter "gdk_window_get_events"
166 :setter "gdk_window_set_events"
167 :accessor window-events
171 :getter "gdk_window_get_group"
172 :setter "gdk_window_set_group"
174 :accessor window-group
178 (deftype bitmap () 'pixmap)
180 (defclass cursor (boxed)
190 :getter "gdk_cursor_get_display"
191 :reader cursor-display
193 (:metaclass boxed-class)
194 (:alien-name "GdkCursor"))
197 (defclass geometry (struct)
200 :accessor geometry-min-width
205 :accessor geometry-min-height
210 :accessor geometry-max-width
215 :accessor geometry-max-height
220 :accessor geometry-base-width
225 :accessor geometry-base-height
226 :initarg :base-height
230 :accessor geometry-width-inc
235 :accessor geometry-height-inc
240 :accessor geometry-min-aspect
245 :accessor geometry-max-aspect
250 :accessor geometry-gravity
253 (:metaclass struct-class))