Typo.
[cl-gtk2.git] / gdk / gdk.windows.lisp
1 (in-package :gdk)
2
3 (defcfun gdk-window-new (g-object gdk-window :already-referenced)
4   (parent (g-object gdk-window))
5   (attributes (g-boxed-foreign gdk-window-attr))
6   (attributes-mask gdk-window-attributes-type))
7
8 (export 'gdk-window-new)
9
10 (defcfun gdk-window-destroy :void
11   (window (g-object gdk-window)))
12
13 (export 'gdk-window-destroy)
14
15 (defcfun (%gdk-window-at-pointer "gdk_window_at_pointer") (g-object gdk-window)
16   (win-x (:pointer :int))
17   (win-y (:pointer :int)))
18
19 (defun gdk-window-at-pointer ()
20   (with-foreign-objects ((x :int) (y :int))
21     (let ((window (%gdk-window-at-pointer x y)))
22       (if window
23           (values window (mem-ref x :int) (mem-ref y :int))
24           (values nil nil nil)))))
25
26 (export 'get-window-at-pointe)
27
28 (defcfun gdk-window-show :void
29   (window (g-object gdk-window)))
30
31 (export 'gdk-window-show)
32
33 (defcfun gdk-window-show-unraised :void
34   (window (g-object gdk-window)))
35
36 (export 'gdk-window-show-unraised)
37
38 (defcfun gdk-window-hide :void
39   (window (g-object gdk-window)))
40
41 (export 'gdk-window-hide)
42
43 (defcfun gdk-window-withdraw :void
44   (window (g-object gdk-window)))
45
46 (export 'gdk-window-withdraw)
47
48 (defcfun gdk-window-iconify :void
49   (window (g-object gdk-window)))
50
51 (export 'gdk-window-iconify)
52
53 (defcfun gdk-window-deiconify :void
54   (window (g-object gdk-window)))
55
56 (export 'gdk-window-deiconify)
57
58 (defcfun gdk-window-stick :void
59   (window (g-object gdk-window)))
60
61 (export 'gdk-window-stick)
62
63 (defcfun gdk-window-unstick :void
64   (window (g-object gdk-window)))
65
66 (export 'gdk-window-unstick)
67
68 (defcfun gdk-window-maximize :void
69   (window (g-object gdk-window)))
70
71 (export 'gdk-window-maximize)
72
73 (defcfun gdk-window-unmaximize :void
74   (window (g-object gdk-window)))
75
76 (export 'gdk-window-unmaximize)
77
78 (defcfun gdk-window-fullscreen :void
79   (window (g-object gdk-window)))
80
81 (export 'gdk-window-unfullscreen)
82
83 (defcfun gdk-window-move :void
84   (window (g-object gdk-window))
85   (x :int)
86   (y :int))
87
88 (export 'gdk-window-move)
89
90 (defcfun gdk-window-resize :void
91   (window (g-object gdk-window))
92   (width :int)
93   (height :int))
94
95 (export 'gdk-window-resize)
96
97 (defcfun gdk-window-move-resize :void
98   (window (g-object gdk-window))
99   (x :int)
100   (y :int)
101   (width :int)
102   (height :int))
103
104 (export 'gdk-window-move-resize)
105
106 (defcfun gdk-window-scroll :void
107   (window (g-object gdk-window))
108   (dx :int)
109   (dy :int))
110
111 (export 'gdk-window-scroll)
112
113 (defcfun gdk-window-move-region :void
114   (window (g-object gdk-window))
115   (region (g-boxed-foreign region))
116   (dx :int)
117   (dy :int))
118
119 (export 'gdk-window-move-region)
120
121 #+gtk-2.18
122 (progn
123   (defcfun gdk-window-flush :void
124     (window (g-object gdk-window)))
125   (export 'gdk-window-flush)
126   (defcfun gdk-window-ensure-native :void
127     (window (g-object gdk-window)))
128   (export 'gdk-window-ensure-native))
129
130 (defcfun gdk-window-reparent :void
131   (window (g-object gdk-window))
132   (new-parent (g-object gdk-window))
133   (x :int)
134   (y :int))
135
136 (export 'gdk-window-reparent)
137
138 (defcfun gdk-window-clear :void
139   (window (g-object gdk-window)))
140
141 (export 'gdk-window-clear)
142
143 (defcfun gdk-window-clear-area :void
144   (window (g-object gdk-window))
145   (x :int)
146   (y :int)
147   (width :int)
148   (height :int))
149
150 (export 'gdk-window-clear-area)
151
152 (defcfun gdk-window-clear-area-e :void
153   (window (g-object gdk-window))
154   (x :int)
155   (y :int)
156   (width :int)
157   (height :int))
158
159 (export 'gdk-window-clear-area-e)
160
161 (defcfun gdk-window-raise :void
162   (window (g-object gdk-window)))
163
164 (export 'gdk-window-raise)
165
166 (defcfun gdk-window-lower :void
167   (window (g-object gdk-window)))
168
169 (export 'gdk-window-lower)
170
171 #+gtk-2.18
172 (defcfun gdk-window-restack :void
173   (window (g-object gdk-window))
174   (sibling (g-object gdk-window))
175   (above :boolean))
176
177 #+gtk-2.18
178 (export 'gdk-window-restack)
179
180 (defcfun gdk-window-focus :void
181   (window (g-object gdk-window))
182   (timestamp :uint32))
183
184 (export 'gdk-window-focus)
185
186 (defcfun gdk-window-register-dnd :void
187   (window (g-object gdk-window)))
188
189 (export 'gdk-window-register-dnd)
190
191 (defcfun gdk-window-begin-resize-drag :void
192   (window (g-object gdk-window))
193   (edge gdk-window-edge)
194   (button :int)
195   (root-x :int)
196   (root-y :int)
197   (timestamp :uint32))
198
199 (export 'gdk-window-begin-resize-drag)
200
201 (defcfun gdk-window-begin-move-drag :void
202   (window (g-object gdk-window))
203   (button :int)
204   (root-x :int)
205   (root-y :int)
206   (timestamp :uint32))
207
208 (export 'gdk-window-begin-move-drag)
209
210 (defcfun gdk_window_constrain_size :void
211   (geometry (g-boxed-foreign geometry))
212   (flags gdk-window-hints)
213   (width :int)
214   (height :int)
215   (new-width (:pointer :int))
216   (new-height (:pointer :int)))
217
218 (defun gdk-window-constrain-size (geometry flags width height)
219   (with-foreign-objects ((new-width :int) (new-height :int))
220     (gdk_window_constrain_size geometry flags width height new-width new-height)
221     (values (mem-ref new-width :int)
222             (mem-ref new-height :int))))
223
224 (export 'gdk-window-constrain-size)
225
226 (defcfun gdk-window-beep :void
227   (window (g-object gkd-window)))
228
229 (export 'gdk-window-beep)
230
231 (defcfun gdk-window-begin-paint-rect :void
232   (window (g-object gdk-window))
233   (rectangle (g-boxed-foreign rectangle)))
234
235 (export 'gdk-window-begin-paint-rect)
236
237 (defcfun gdk-window-begin-paint-region :void
238   (window (g-object gdk-window))
239   (region (g-boxed-foreign region)))
240
241 (export 'gdk-window-begin-paint-region)
242
243 (defcfun gdk-window-invalidate-rect :void
244   (window (g-object gdk-window))
245   (rectangle (g-boxed-foreign rectangle))
246   (invalidate-children :boolean))
247
248 (export 'gdk-window-invalidate-rect)
249
250 (defcfun gdk-window-invalidate-region :void
251   (window (g-object gdk-window))
252   (region (g-boxed-foreign region))
253   (invalidate-children :boolean))
254
255 (export 'gdk-window-invalidate-region)
256
257 (defcfun gdk_window_invalidate_maybe_recurse :void
258   (window (g-object gdk-window))
259   (region (g-boxed-foreign region))
260   (recurse-p-fn :pointer)
261   (user-data :pointer))
262
263 (defcallback gdk-window-invalidate-maybe-recurse-cb :boolean
264   ((window (g-object gdk-window))
265    (user-data :pointer))
266   (let ((fn (stable-pointer-value user-data)))
267     (funcall fn window)))
268
269 (defun gdk-window-invalidate-maybe-recurse (window region fn)
270   (with-stable-pointer (ptr fn)
271     (gdk_window_invalidate_maybe_recurse window region (callback gdk-window-invalidate-maybe-recurse-cb) ptr)))
272
273 (export 'gdk-window-invalidate-maybe-recurse)
274
275 (defcfun gdk-window-get-update-area (g-boxed-foreign region :return)
276   (window (g-object gdk-window)))
277
278 (export 'gdk-window-get-update-area)
279
280 (defcfun gdk-window-freeze-updates :void
281   (window (g-object gdk-window)))
282
283 (export 'gdk-window-freeze-updates)
284
285 (defcfun gdk-window-thaw-updates :void
286   (window (g-object gdk-window)))
287
288 (export 'gdk-window-thaw-updates)
289
290 (defcfun gdk-window-process-all-updates :void)
291
292 (export 'gdk-window-process-all-updates)
293
294 (defcfun gdk-window-process-updates :void
295   (window (g-object gdk-window))
296   (update-children :boolean))
297
298 (export 'gdk-window-process-updates)
299
300 (defcfun gdk-window-set-debug-updates :void
301   (settings :boolean))
302
303 (export 'gdk-window-set-debug-updates)
304
305 (defcfun gdk_window_get_internal_paint_info :void
306   (window (g-object gdk-window))
307   (real-drawable (:pointer (g-object drawable)))
308   (x-offset (:pointer :int))
309   (y-offset (:pointer :int)))
310
311 (defun gdk-window-get-internal-paint-info (window)
312   (with-foreign-objects ((real-drawable :pointer) (x-offset :int) (y-offset :int))
313     (gdk_window_get_internal_paint_info window real-drawable x-offset y-offset)
314     (values (mem-ref real-drawable '(g-object drawable))
315             (mem-ref x-offset :int)
316             (mem-ref y-offset :int))))
317
318 (export 'gdk-window-get-internal-paint-info)
319
320 (defcfun gdk-window-enable-synchronized-configure :void
321   (window (g-object gdk-window)))
322
323 (export 'gdk-window-enable-synchronized-configure)
324
325 (defcfun gdk-window-configure-finished :void
326   (window (g-object gdk-window)))
327
328 (export 'gdk-window-configure-finished)
329
330 ;; void                gdk_window_add_filter               (GdkWindow *window,
331 ;;                                                          GdkFilterFunc function,
332 ;;                                                          gpointer data);
333 ;; void                gdk_window_remove_filter            (GdkWindow *window,
334 ;;                                                          GdkFilterFunc function,
335 ;;                                                          gpointer data);
336 ;; GdkFilterReturn     (*GdkFilterFunc)                    (GdkXEvent *xevent,
337 ;;                                                          GdkEvent *event,
338 ;;                                                          gpointer data);
339
340 (defcfun gdk-window-shape-combine-mask :void
341   (window (g-object window))
342   (mask (g-object pixmap))
343   (x :int)
344   (y :int))
345
346 (export 'gdk-window-shape-combine-mask)
347
348 (defcfun gdk-window-shape-combine-region :void
349   (window (g-object window))
350   (region (g-boxed-foreign region))
351   (offset-x :int)
352   (offset-y :int))
353
354 (export 'gdk-window-shape-combine-region)
355
356 (defcfun gdk-window-set-child-shapes :void
357   (window (g-object gdk-window)))
358
359 (export 'gdk-window-set-child-shapes)
360
361 (defcfun gdk-window-merge-child-shapes :void
362   (window (g-object gdk-window)))
363
364 (export 'gdk-window-merge-child-shapes)
365
366 (defcfun gdk-window-input-shape-combine-mask :void
367   (window (g-object gdk-window))
368   (mask (g-object pixmap))
369   (x :int)
370   (y :int))
371
372 (export 'gdk-window-input-shape-combine-mask)
373
374 (defcfun gdk-window-input-shape-combine-region :void
375   (window (g-object gdk-window))
376   (shape-region (g-boxed-foreign region))
377   (offset-x :int)
378   (offset-y :int))
379
380 (export 'gdk-window-input-shape-combine-region)
381
382 (defcfun gdk-window-set-child-input-shapes :void
383   (window (g-object gdk-window)))
384
385 (export 'gdk-window-set-chid-input-shapes)
386
387 (defcfun gdk-window-merge-child-input-shapes :void
388   (window (g-object gdk-window)))
389
390 (export 'gdk-window-merge-child-input-shapes)
391
392 (defcfun gdk-window-set-static-gravities :boolean
393   (window (g-object gdk-window))
394   (use-static :boolean))
395
396 (export 'gdk-window-set-static-gravities)
397
398 ;; ignored:
399 ;; void                gdk_window_set_hints                (GdkWindow *window,
400 ;;                                                          gint x,
401 ;;                                                          gint y,
402 ;;                                                          gint min_width,
403 ;;                                                          gint min_height,
404 ;;                                                          gint max_width,
405 ;;                                                          gint max_height,
406 ;;                                                          gint flags);
407
408 (defcfun gdk-window-set-back-pixmap :void
409   (window (g-object gdk-window))
410   (pixmap (g-object pixmap))
411   (parent-relative :boolean))
412
413 (export 'gdk-window-set-back-pixmap)
414
415 (defcfun gdk_window_get_geometry :void
416   (window (g-object gdk-window))
417   (x (:pointer :int))
418   (y (:pointer :int))
419   (width (:pointer :int))
420   (height (:pointer :int))
421   (depth (:pointer :int)))
422
423 (defun gdk-window-get-geometry (window)
424   (with-foreign-objects ((x :int) (y :int) (width :int) (height :int) (depth :int))
425     (gdk_window_get_geometry window x y width height depth)
426     (values (mem-ref x :int)
427             (mem-ref y :int)
428             (mem-ref width :int)
429             (mem-ref height :int)
430             (mem-ref depth :int))))
431
432 (export 'gdk-window-get-geometry)
433
434 (defcfun gdk-window-set-geometry-hints :void
435   (window (g-object gdk-window))
436   (geometry (g-boxed-foreign geometry))
437   (geometry-mask gdk-window-hints))
438
439 (export 'gdk-window-set-geometry-hints)
440
441 (defcfun gdk_window_get_position :void
442   (window (g-object gdk-window))
443   (x (:pointer :int))
444   (y (:pointer :int)))
445
446 (defun gdk-window-get-position (window)
447   (with-foreign-objects ((x :int) (y :int))
448     (gdk_window_get_position window x y)
449     (values (mem-ref x :int) (mem-ref y :int))))
450
451 (export 'gdk-window-get-position)
452
453 (defcfun gdk_window_get_root_origin :void
454   (window (g-object gdk-window))
455   (x (:pointer :int))
456   (y (:pointer :int)))
457
458 (defun gdk-window-get-root-origin (window)
459   (with-foreign-objects ((x :int) (y :int))
460     (gdk_window_get_root_origin window x y)
461     (values (mem-ref x :int) (mem-ref y :int))))
462
463 (export 'gdk-window-get-root-origin)
464
465 (defcfun gdk_window_get_frame_extents :void
466   (window (g-object gdk-window))
467   (rectangle (g-boxed-foreign rectangle)))
468
469 (defun gdk-window-get-frame-extents (window)
470   (let ((rectangle (make-rectangle)))
471     (gdk_window_get_frame_extents window rectangle)
472     rectangle))
473
474 (export 'gdk-window-get-frame-extents)
475
476 (defcfun gdk_window_get_origin :int
477   (window (g-object gdk-window))
478   (x (:pointer :int))
479   (y (:pointer :int)))
480
481 (defun gdk-window-get-origin (window)
482   (with-foreign-objects ((x :int) (y :int))
483     (gdk_window_get_origin window x y)
484     (values (mem-ref x :int) (mem-ref y :int))))
485
486 (export 'gdk-window-get-origin)
487
488 ;; ignored
489 ;; gboolean            gdk_window_get_deskrelative_origin  (GdkWindow *window,
490 ;;                                                          gint *x,
491 ;;                                                          gint *y);
492
493 #+gtk-2.18
494 (progn
495   (defcfun gdk_window_get_root_coords :void
496     (window (g-object gdk-window))
497     (x :int)
498     (y :int)
499     (root-x :int)
500     (root-y :int))
501
502   (defun gdk-window-get-root-coords (window x y)
503     (with-foreign-objects ((root-x :int) (root-y :int))
504       (gdk_window_get_root_coords window x y root-x root-y)
505       (values (mem-ref root-x :int) (mem-ref root-y :int))))
506   
507   (export 'gdk-window-get-root-coords))
508
509 (defcfun gdk_window_get_pointer (g-object gdk-window)
510   (window (g-object gdk-window))
511   (x (:pointer :int))
512   (y (:pointer :int))
513   (mask (:pointer modifier-type)))
514
515 (defun gdk-window-get-pointer (window)
516   (with-foreign-objects ((x :int) (y :int) (mask 'modifier-type))
517     (let ((w (gdk_window_get_pointer window x y mask)))
518       (values w
519               (mem-ref x :int)
520               (mem-ref y :int)
521               (mem-ref mask 'modifier-type)))))
522
523 (export 'gdk-window-get-pointer)
524
525 (defcfun gdk_window_get_decorations :boolean
526   (window (g-object gdk-window))
527   (decorations (:pointer gdk-w-m-decoration)))
528
529 (defun gdk-window-get-decorations (window)
530   (with-foreign-object (decorations 'gdk-w-m-decoration)
531     (gdk_window_get_decorations window decorations)
532     (mem-ref decorations 'gdk-w-m-decoration)))
533
534 (defcfun gdk-window-set-icon :void
535   (window (g-object gdk-window))
536   (icon-window (g-object gdk-window))
537   (pixmap (g-object pixmap))
538   (mask (g-object mask)))
539
540 (export 'gdk-window-set-icon)
541
542 ;; ignored
543 ;; GList *             gdk_window_get_toplevels            (void);
544
545 (defcfun gdk-get-default-root-window (g-object gdk-window))
546
547 (export 'gdk-get-default-root-window)
548
549 ;; TODO
550 ;;                     GdkPointerHooks;
551 ;; GdkPointerHooks *   gdk_set_pointer_hooks               (const GdkPointerHooks *new_hooks);
552
553 #+gtk-2.18
554 (progn
555   (defcfun gdk-offscreen-window-get-pixmap (g-object pixmap)
556     (window (g-object gdk-window)))
557
558   (export 'gdk-offscreen-window-get-pixmap)
559
560   (defcfun (gdk-offscreen-window-embedder "gdk_offscreen_window_get_embedder") (g-object gdk-window)
561     (window (g-object gdk-window)))
562
563   (defcfun gdk_offscreen_window_set_embedder :void
564     (window (g-object gdk-window))
565     (embedder (g-object gdk-window)))
566
567   (defun (setf gdk-offscreen-window-embedder) (new-value window)
568     (gdk_offscreen_window_set_embedder window new-value))
569
570   (export 'gdk-offscreen-window-embedder)
571
572   (defcfun gdk-window-geometry-changed :void
573     (window (g-object gdk-window)))
574
575   (export 'gdk-window-geometry-changed))
576
577 (defcfun gdk-window-redirect-to-drawable :void
578   (window (g-object gdk-window))
579   (drawable (g-object drawable))
580   (src-x :int)
581   (src-y :int)
582   (dest-x :int)
583   (dest-y :int)
584   (width :int)
585   (height :int))
586
587 (export 'gdk-window-redirect-to-drawable)
588
589 (defcfun gdk-window-remove-redirection :void
590   (window (g-object gdk-window)))
591
592 (export 'gdk-window-remove-redirection)