0d07716f |
1 | ;; Common Lisp bindings for GTK+ v2.0 |
d6a0064f |
2 | ;; Copyright (C) 1999-2001 Espen S. Johnsen <esj@stud.cs.uit.no> |
0d07716f |
3 | ;; |
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. |
8 | ;; |
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. |
13 | ;; |
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 |
17 | |
b50a8c2c |
18 | ;; $Id: gdktypes.lisp,v 1.10 2004/12/26 11:47:24 espen Exp $ |
0d07716f |
19 | |
20 | (in-package "GDK") |
21 | |
8ca42cb1 |
22 | (eval-when (:compile-toplevel :load-toplevel :execute) |
6baf860c |
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_")) |
32 | |
0d07716f |
33 | |
d6a0064f |
34 | (defclass color (boxed) |
0d07716f |
35 | ((pixel |
36 | :allocation :alien |
37 | :type unsigned-long) |
38 | (red |
39 | :allocation :alien |
40 | :accessor color-red |
41 | :type unsigned-short) |
42 | (green |
43 | :allocation :alien |
79527bbe |
44 | :accessor color-green |
0d07716f |
45 | :type unsigned-short) |
46 | (blue |
47 | :allocation :alien |
48 | :accessor color-blue |
49 | :type unsigned-short)) |
8ca42cb1 |
50 | (:metaclass boxed-class) |
51 | (:alien-name "GdkColor")) |
0d07716f |
52 | |
53 | |
126f94b0 |
54 | (deftype point () '(vector int 2)) |
55 | (deftype segment () '(vector int 4)) |
56 | (deftype trapezoid () '(vector double-float 6)) |
57 | |
58 | |
59 | |
60 | ;; Could this just as well have been a vector? |
61 | (defclass rectangle (boxed) |
62 | ((x |
63 | :allocation :alien |
64 | :accessor rectangle-x |
65 | :initarg :x |
66 | :type int) |
67 | (y |
68 | :allocation :alien |
69 | :accessor rectangle-y |
70 | :initarg :y |
71 | :type int) |
72 | (width |
73 | :allocation :alien |
74 | :accessor rectangle-width |
75 | :initarg :width |
76 | :type int) |
77 | (height |
78 | :allocation :alien |
79 | :accessor rectangle-height |
80 | :initarg :height |
81 | :type int)) |
82 | (:metaclass boxed-class) |
83 | (:alien-name "GdkRectangle")) |
84 | |
85 | |
8ca42cb1 |
86 | (eval-when (:compile-toplevel :load-toplevel :execute) |
87 | (define-types-by-introspection "Gdk" |
88 | ("GdkFunction" :type gc-function) |
126f94b0 |
89 | ("GdkWMDecoration" :type wm-decoration) |
90 | ("GdkWMFunction" :type wm-function) |
8ca42cb1 |
91 | ("GdkGC" :type gc) |
126f94b0 |
92 | ("GdkGCX11" :type gc-x11) |
93 | ("GdkGCValuesMask" :type gc-values-mask) |
8ca42cb1 |
94 | ("GdkDrawableImplX11" :ignore t) |
95 | ("GdkWindowImplX11" :ignore t) |
96 | ("GdkPixmapImplX11" :ignore t) |
97 | ("GdkGCX11" :ignore t) |
98 | ("GdkColor" :ignore t) |
126f94b0 |
99 | ("GdkEvent" :ignore t) |
100 | ("GdkRectngle" :ignore t) |
101 | ("GdkFont" :ignore t) ; deprecated |
102 | |
103 | ("GdkDrawable" |
104 | :slots |
105 | ((display |
106 | :allocation :virtual |
107 | :getter "gdk_drawable_get_display" |
108 | :reader drawable-display |
109 | :type display) |
110 | (screen |
111 | :allocation :virtual |
112 | :getter "gdk_drawable_get_screen" |
113 | :reader drawable-screen |
114 | :type screen) |
115 | (visual |
116 | :allocation :virtual |
117 | :getter "gdk_drawable_get_visual" |
118 | :reader drawable-visual |
119 | :type visual) |
120 | (colormap |
121 | :allocation :virtual |
122 | :getter "gdk_drawable_get_colormap" |
123 | :setter "gdk_drawable_set_colormap" |
124 | :unbound nil |
125 | :accessor drawable-colormap |
126 | :initarg :colormap |
127 | :type colormap) |
128 | (depth |
129 | :allocation :virtual |
130 | :getter "gdk_drawable_get_depth" |
131 | :reader drawable-depth |
132 | :type int) |
133 | (with |
134 | :allocation :virtual |
135 | :getter drawable-width) |
136 | (height |
137 | :allocation :virtual |
138 | :getter drawable-height))) |
139 | |
140 | ("GdkWindow" |
141 | :slots |
142 | ((state |
143 | :allocation :virtual |
144 | :getter "gdk_window_get_state" |
145 | :reader window-state |
146 | :type window-state) |
147 | (parent |
148 | :allocation :virtual |
149 | :getter "gdk_window_get_parent" |
150 | :reader window-parent |
151 | :type window) |
152 | (toplevel |
153 | :allocation :virtual |
154 | :getter "gdk_window_get_toplevel" |
155 | :reader window-toplevel |
156 | :type window) |
157 | (children |
158 | :allocation :virtual |
159 | :getter "gdk_window_get_children" |
160 | :reader window-children |
161 | :type (glist window)) |
162 | (events |
163 | :allocation :virtual |
164 | :getter "gdk_window_get_events" |
165 | :setter "gdk_window_set_events" |
166 | :accessor window-events |
167 | :type event-mask) |
168 | (group |
169 | :allocation :virtual |
170 | :getter "gdk_window_get_group" |
171 | :setter "gdk_window_set_group" |
172 | :unbound nil |
173 | :accessor window-group |
174 | :type window) |
175 | |
176 | )) |
177 | )) |
0d07716f |
178 | |
0d07716f |
179 | |
d6a0064f |
180 | (deftype bitmap () 'pixmap) |
0d07716f |
181 | |
d6a0064f |
182 | (defclass cursor (struct) |
0d07716f |
183 | ((type |
184 | :allocation :alien |
126f94b0 |
185 | :reader cursor-type |
186 | :type cursor-type) |
187 | (ref-count |
188 | :allocation :alien |
189 | :type unsigned-int) |
190 | (display |
191 | :allocation :virtual |
192 | :getter "gdk_cursor_get_display" |
193 | :reader cursor-display |
194 | :type display)) |
6baf860c |
195 | (:metaclass struct-class)) |
e49839f2 |
196 | |
d6a0064f |
197 | (defclass device (struct) |
e49839f2 |
198 | () |
6baf860c |
199 | (:metaclass struct-class)) |
b50a8c2c |
200 | |
201 | (defclass geometry (struct) |
202 | ((min-width |
203 | :allocation :alien |
204 | :accessor geometry-min-width |
205 | :initarg :min-width |
206 | :type int) |
207 | (min-height |
208 | :allocation :alien |
209 | :accessor geometry-min-height |
210 | :initarg :min-height |
211 | :type int) |
212 | (max-width |
213 | :allocation :alien |
214 | :accessor geometry-max-width |
215 | :initarg :max-width |
216 | :type int) |
217 | (max-height |
218 | :allocation :alien |
219 | :accessor geometry-max-height |
220 | :initarg :max-height |
221 | :type int) |
222 | (base-width |
223 | :allocation :alien |
224 | :accessor geometry-base-width |
225 | :initarg :base-width |
226 | :type int) |
227 | (base-height |
228 | :allocation :alien |
229 | :accessor geometry-base-height |
230 | :initarg :base-height |
231 | :type int) |
232 | (width-inc |
233 | :allocation :alien |
234 | :accessor geometry-width-inc |
235 | :initarg :width-inc |
236 | :type int) |
237 | (height-inc |
238 | :allocation :alien |
239 | :accessor geometry-height-inc |
240 | :initarg :height-inc |
241 | :type int) |
242 | (min-aspect |
243 | :allocation :alien |
244 | :accessor geometry-min-aspect |
245 | :initarg :min-aspect |
246 | :type double-float) |
247 | (max-aspect |
248 | :allocation :alien |
249 | :accessor geometry-max-aspect |
250 | :initarg :max-aspect |
251 | :type double-float) |
252 | (gravity |
253 | :allocation :alien |
254 | :accessor geometry-gravity |
255 | :initarg :gravity |
256 | :type gravity)) |
257 | (:metaclass struct-class)) |