5515cd18 |
1 | ;; Common Lisp bindings for GTK+ v2.0 |
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 | |
64780167 |
18 | ;; $Id: gdk.lisp,v 1.12 2004/12/20 00:32:15 espen Exp $ |
0d07716f |
19 | |
20 | |
21 | (in-package "GDK") |
22 | |
e295d6df |
23 | ;;; Initialization |
24 | |
25 | (defbinding (gdk-init "gdk_parse_args") () nil |
26 | "Initializes the library without opening the display." |
27 | (nil null) |
28 | (nil null)) |
0d07716f |
29 | |
0d07716f |
30 | |
e295d6df |
31 | ;;; Display |
32 | |
6baf860c |
33 | (defbinding (display-manager "gdk_display_manager_get") () display-manager) |
34 | |
e295d6df |
35 | |
36 | (defbinding (display-set-default "gdk_display_manager_set_default_display") |
37 | (display) nil |
6baf860c |
38 | ((display-manager) display-manager) |
e295d6df |
39 | (display display)) |
40 | |
41 | (defbinding display-get-default () display) |
42 | |
43 | (defbinding %display-open () display |
44 | (display-name (or null string))) |
45 | |
46 | (defun display-open (&optional display-name) |
47 | (let ((display (%display-open display-name))) |
48 | (unless (display-get-default) |
49 | (display-set-default display)) |
50 | display)) |
51 | |
52 | (defbinding (display-connection-number "clg_gdk_connection_number") |
53 | (&optional (display (display-get-default))) int |
54 | (display display)) |
55 | |
56 | |
57 | ;;; Events |
0d07716f |
58 | |
5515cd18 |
59 | (defbinding (events-pending-p "gdk_events_pending") () boolean) |
0d07716f |
60 | |
5515cd18 |
61 | (defbinding event-get () event) |
0d07716f |
62 | |
5515cd18 |
63 | (defbinding event-peek () event) |
0d07716f |
64 | |
5515cd18 |
65 | (defbinding event-get-graphics-expose () event |
0d07716f |
66 | (window window)) |
67 | |
5515cd18 |
68 | (defbinding event-put () event |
0d07716f |
69 | (event event)) |
70 | |
5515cd18 |
71 | ;(defbinding event-handler-set () ...) |
0d07716f |
72 | |
5515cd18 |
73 | (defbinding set-show-events () nil |
0d07716f |
74 | (show-events boolean)) |
75 | |
76 | ;;; Misc |
77 | |
5515cd18 |
78 | (defbinding set-use-xshm () nil |
0d07716f |
79 | (use-xshm boolean)) |
80 | |
5515cd18 |
81 | (defbinding get-show-events () boolean) |
0d07716f |
82 | |
5515cd18 |
83 | (defbinding get-use-xshm () boolean) |
0d07716f |
84 | |
5515cd18 |
85 | (defbinding get-display () string) |
0d07716f |
86 | |
5515cd18 |
87 | ; (defbinding time-get () (unsigned 32)) |
0d07716f |
88 | |
5515cd18 |
89 | ; (defbinding timer-get () (unsigned 32)) |
0d07716f |
90 | |
5515cd18 |
91 | ; (defbinding timer-set () nil |
0d07716f |
92 | ; (milliseconds (unsigned 32))) |
93 | |
5515cd18 |
94 | ; (defbinding timer-enable () nil) |
0d07716f |
95 | |
5515cd18 |
96 | ; (defbinding timer-disable () nil) |
0d07716f |
97 | |
98 | ; input ... |
99 | |
5515cd18 |
100 | (defbinding pointer-grab () int |
0d07716f |
101 | (window window) |
102 | (owner-events boolean) |
103 | (event-mask event-mask) |
104 | (confine-to (or null window)) |
105 | (cursor (or null cursor)) |
106 | (time (unsigned 32))) |
107 | |
5515cd18 |
108 | (defbinding pointer-ungrab () nil |
0d07716f |
109 | (time (unsigned 32))) |
110 | |
5515cd18 |
111 | (defbinding keyboard-grab () int |
0d07716f |
112 | (window window) |
113 | (owner-events boolean) |
114 | (time (unsigned 32))) |
115 | |
5515cd18 |
116 | (defbinding keyboard-ungrab () nil |
0d07716f |
117 | (time (unsigned 32))) |
118 | |
5515cd18 |
119 | (defbinding (pointer-is-grabbed-p "gdk_pointer_is_grabbed") () boolean) |
0d07716f |
120 | |
5515cd18 |
121 | (defbinding screen-width () int) |
122 | (defbinding screen-height () int) |
0d07716f |
123 | |
5515cd18 |
124 | (defbinding screen-width-mm () int) |
125 | (defbinding screen-height-mm () int) |
0d07716f |
126 | |
5515cd18 |
127 | (defbinding flush () nil) |
128 | (defbinding beep () nil) |
0d07716f |
129 | |
130 | |
131 | |
132 | ;;; Visuals |
133 | |
5515cd18 |
134 | (defbinding visual-get-best-depth () int) |
0d07716f |
135 | |
5515cd18 |
136 | (defbinding visual-get-best-type () visual-type) |
0d07716f |
137 | |
5515cd18 |
138 | (defbinding visual-get-system () visual) |
0d07716f |
139 | |
140 | |
5515cd18 |
141 | (defbinding (%visual-get-best-with-nothing "gdk_visual_get_best") () visual) |
0d07716f |
142 | |
5515cd18 |
143 | (defbinding %visual-get-best-with-depth () visual |
0d07716f |
144 | (depth int)) |
145 | |
5515cd18 |
146 | (defbinding %visual-get-best-with-type () visual |
0d07716f |
147 | (type visual-type)) |
148 | |
5515cd18 |
149 | (defbinding %visual-get-best-with-both () visual |
0d07716f |
150 | (depth int) |
151 | (type visual-type)) |
152 | |
153 | (defun visual-get-best (&key depth type) |
154 | (cond |
155 | ((and depth type) (%visual-get-best-with-both depth type)) |
156 | (depth (%visual-get-best-with-depth depth)) |
157 | (type (%visual-get-best-with-type type)) |
158 | (t (%visual-get-best-with-nothing)))) |
159 | |
5515cd18 |
160 | ;(defbinding query-depths ..) |
0d07716f |
161 | |
5515cd18 |
162 | ;(defbinding query-visual-types ..) |
0d07716f |
163 | |
5515cd18 |
164 | (defbinding list-visuals () (glist visual)) |
0d07716f |
165 | |
166 | |
167 | ;;; Windows |
168 | |
5515cd18 |
169 | (defbinding window-destroy () nil |
0d07716f |
170 | (window window)) |
171 | |
172 | |
64780167 |
173 | (defbinding window-at-pointer () window |
174 | (x int :out) |
175 | (y int :out)) |
0d07716f |
176 | |
5515cd18 |
177 | (defbinding window-show () nil |
0d07716f |
178 | (window window)) |
179 | |
64780167 |
180 | (defbinding window-show-unraised () nil |
181 | (window window)) |
182 | |
5515cd18 |
183 | (defbinding window-hide () nil |
0d07716f |
184 | (window window)) |
185 | |
64780167 |
186 | (defbinding window-is-visible-p () boolean |
187 | (window window)) |
188 | |
189 | (defbinding window-is-viewable-p () boolean |
190 | (window window)) |
191 | |
5515cd18 |
192 | (defbinding window-withdraw () nil |
0d07716f |
193 | (window window)) |
194 | |
64780167 |
195 | (defbinding window-iconify () nil |
196 | (window window)) |
197 | |
198 | (defbinding window-deiconify () nil |
199 | (window window)) |
200 | |
201 | (defbinding window-stick () nil |
202 | (window window)) |
203 | |
204 | (defbinding window-unstick () nil |
205 | (window window)) |
206 | |
207 | (defbinding window-maximize () nil |
208 | (window window)) |
209 | |
210 | (defbinding window-unmaximize () nil |
211 | (window window)) |
212 | |
213 | (defbinding window-fullscreen () nil |
214 | (window window)) |
215 | |
216 | (defbinding window-unfullscreen () nil |
217 | (window window)) |
218 | |
219 | (defbinding window-set-keep-above () nil |
220 | (window window) |
221 | (setting boolean)) |
222 | |
223 | (defbinding window-set-keep-below () nil |
224 | (window window) |
225 | (setting boolean)) |
226 | |
5515cd18 |
227 | (defbinding window-move () nil |
0d07716f |
228 | (window window) |
229 | (x int) |
230 | (y int)) |
231 | |
5515cd18 |
232 | (defbinding window-resize () nil |
0d07716f |
233 | (window window) |
234 | (width int) |
235 | (height int)) |
236 | |
5515cd18 |
237 | (defbinding window-move-resize () nil |
0d07716f |
238 | (window window) |
239 | (x int) |
240 | (y int) |
241 | (width int) |
242 | (height int)) |
243 | |
64780167 |
244 | (defbinding window-scroll () nil |
245 | (window window) |
246 | (dx int) |
247 | (dy int)) |
248 | |
5515cd18 |
249 | (defbinding window-reparent () nil |
0d07716f |
250 | (window window) |
251 | (new-parent window) |
252 | (x int) |
253 | (y int)) |
254 | |
5515cd18 |
255 | (defbinding window-clear () nil |
0d07716f |
256 | (window window)) |
257 | |
64780167 |
258 | (defbinding %window-clear-area () nil |
0d07716f |
259 | (window window) |
260 | (x int) (y int) (width int) (height int)) |
261 | |
64780167 |
262 | (defbinding %window-clear-area-e () nil |
0d07716f |
263 | (window window) |
264 | (x int) (y int) (width int) (height int)) |
265 | |
266 | (defun window-clear-area (window x y width height &optional expose) |
267 | (if expose |
64780167 |
268 | (%window-clear-area-e window x y width height) |
269 | (%window-clear-area window x y width height))) |
0d07716f |
270 | |
5515cd18 |
271 | (defbinding window-raise () nil |
0d07716f |
272 | (window window)) |
273 | |
5515cd18 |
274 | (defbinding window-lower () nil |
0d07716f |
275 | (window window)) |
276 | |
64780167 |
277 | (defbinding window-focus () nil |
278 | (window window) |
279 | (timestamp unsigned-int)) |
280 | |
281 | (defbinding window-register-dnd () nil |
282 | (window window)) |
283 | |
284 | (defbinding window-begin-resize-drag () nil |
285 | (window window) |
286 | (edge window-edge) |
287 | (button int) |
288 | (root-x int) |
289 | (root-y int) |
290 | (timestamp unsigned-int)) |
291 | |
292 | (defbinding window-begin-move-drag () nil |
293 | (window window) |
294 | (button int) |
295 | (root-x int) |
296 | (root-y int) |
297 | (timestamp unsigned-int)) |
298 | |
299 |