Merge remote-tracking branch 'andy128k/master'
[cl-gtk2.git] / gdk / gdk.windows.lisp
blobf9776920264dfe2ab1f99c9cf49305cf07adcede
1 (in-package :gdk)
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))
8 (export 'gdk-window-new)
10 (defcfun gdk-window-destroy :void
11 (window (g-object gdk-window)))
13 (export 'gdk-window-destroy)
15 (defcfun (%gdk-window-at-pointer "gdk_window_at_pointer") (g-object gdk-window)
16 (win-x (:pointer :int))
17 (win-y (:pointer :int)))
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)))))
26 (export 'get-window-at-pointe)
28 (defcfun gdk-window-show :void
29 (window (g-object gdk-window)))
31 (export 'gdk-window-show)
33 (defcfun gdk-window-show-unraised :void
34 (window (g-object gdk-window)))
36 (export 'gdk-window-show-unraised)
38 (defcfun gdk-window-hide :void
39 (window (g-object gdk-window)))
41 (export 'gdk-window-hide)
43 (defcfun gdk-window-withdraw :void
44 (window (g-object gdk-window)))
46 (export 'gdk-window-withdraw)
48 (defcfun gdk-window-iconify :void
49 (window (g-object gdk-window)))
51 (export 'gdk-window-iconify)
53 (defcfun gdk-window-deiconify :void
54 (window (g-object gdk-window)))
56 (export 'gdk-window-deiconify)
58 (defcfun gdk-window-stick :void
59 (window (g-object gdk-window)))
61 (export 'gdk-window-stick)
63 (defcfun gdk-window-unstick :void
64 (window (g-object gdk-window)))
66 (export 'gdk-window-unstick)
68 (defcfun gdk-window-maximize :void
69 (window (g-object gdk-window)))
71 (export 'gdk-window-maximize)
73 (defcfun gdk-window-unmaximize :void
74 (window (g-object gdk-window)))
76 (export 'gdk-window-unmaximize)
78 (defcfun gdk-window-fullscreen :void
79 (window (g-object gdk-window)))
81 (export 'gdk-window-unfullscreen)
83 (defcfun gdk-window-move :void
84 (window (g-object gdk-window))
85 (x :int)
86 (y :int))
88 (export 'gdk-window-move)
90 (defcfun gdk-window-resize :void
91 (window (g-object gdk-window))
92 (width :int)
93 (height :int))
95 (export 'gdk-window-resize)
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))
104 (export 'gdk-window-move-resize)
106 (defcfun gdk-window-scroll :void
107 (window (g-object gdk-window))
108 (dx :int)
109 (dy :int))
111 (export 'gdk-window-scroll)
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))
119 (export 'gdk-window-move-region)
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))
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))
136 (export 'gdk-window-reparent)
138 (defcfun gdk-window-clear :void
139 (window (g-object gdk-window)))
141 (export 'gdk-window-clear)
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))
150 (export 'gdk-window-clear-area)
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))
159 (export 'gdk-window-clear-area-e)
161 (defcfun gdk-window-raise :void
162 (window (g-object gdk-window)))
164 (export 'gdk-window-raise)
166 (defcfun gdk-window-lower :void
167 (window (g-object gdk-window)))
169 (export 'gdk-window-lower)
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))
177 #+gtk-2.18
178 (export 'gdk-window-restack)
180 (defcfun gdk-window-focus :void
181 (window (g-object gdk-window))
182 (timestamp :uint32))
184 (export 'gdk-window-focus)
186 (defcfun gdk-window-register-dnd :void
187 (window (g-object gdk-window)))
189 (export 'gdk-window-register-dnd)
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))
199 (export 'gdk-window-begin-resize-drag)
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))
208 (export 'gdk-window-begin-move-drag)
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)))
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))))
224 (export 'gdk-window-constrain-size)
226 (defcfun gdk-window-beep :void
227 (window (g-object gkd-window)))
229 (export 'gdk-window-beep)
231 (defcfun gdk-window-begin-paint-rect :void
232 (window (g-object gdk-window))
233 (rectangle (g-boxed-foreign rectangle)))
235 (export 'gdk-window-begin-paint-rect)
237 (defcfun gdk-window-begin-paint-region :void
238 (window (g-object gdk-window))
239 (region (g-boxed-foreign region)))
241 (export 'gdk-window-begin-paint-region)
243 (defcfun gdk-window-invalidate-rect :void
244 (window (g-object gdk-window))
245 (rectangle (g-boxed-foreign rectangle))
246 (invalidate-children :boolean))
248 (export 'gdk-window-invalidate-rect)
250 (defcfun gdk-window-invalidate-region :void
251 (window (g-object gdk-window))
252 (region (g-boxed-foreign region))
253 (invalidate-children :boolean))
255 (export 'gdk-window-invalidate-region)
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))
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)))
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)))
273 (export 'gdk-window-invalidate-maybe-recurse)
275 (defcfun gdk-window-get-update-area (g-boxed-foreign region :return)
276 (window (g-object gdk-window)))
278 (export 'gdk-window-get-update-area)
280 (defcfun gdk-window-freeze-updates :void
281 (window (g-object gdk-window)))
283 (export 'gdk-window-freeze-updates)
285 (defcfun gdk-window-thaw-updates :void
286 (window (g-object gdk-window)))
288 (export 'gdk-window-thaw-updates)
290 (defcfun gdk-window-process-all-updates :void)
292 (export 'gdk-window-process-all-updates)
294 (defcfun gdk-window-process-updates :void
295 (window (g-object gdk-window))
296 (update-children :boolean))
298 (export 'gdk-window-process-updates)
300 (defcfun gdk-window-set-debug-updates :void
301 (settings :boolean))
303 (export 'gdk-window-set-debug-updates)
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)))
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))))
318 (export 'gdk-window-get-internal-paint-info)
320 (defcfun gdk-window-enable-synchronized-configure :void
321 (window (g-object gdk-window)))
323 (export 'gdk-window-enable-synchronized-configure)
325 (defcfun gdk-window-configure-finished :void
326 (window (g-object gdk-window)))
328 (export 'gdk-window-configure-finished)
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);
340 (defcfun gdk-window-shape-combine-mask :void
341 (window (g-object window))
342 (mask (g-object pixmap))
343 (x :int)
344 (y :int))
346 (export 'gdk-window-shape-combine-mask)
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))
354 (export 'gdk-window-shape-combine-region)
356 (defcfun gdk-window-set-child-shapes :void
357 (window (g-object gdk-window)))
359 (export 'gdk-window-set-child-shapes)
361 (defcfun gdk-window-merge-child-shapes :void
362 (window (g-object gdk-window)))
364 (export 'gdk-window-merge-child-shapes)
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))
372 (export 'gdk-window-input-shape-combine-mask)
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))
380 (export 'gdk-window-input-shape-combine-region)
382 (defcfun gdk-window-set-child-input-shapes :void
383 (window (g-object gdk-window)))
385 (export 'gdk-window-set-chid-input-shapes)
387 (defcfun gdk-window-merge-child-input-shapes :void
388 (window (g-object gdk-window)))
390 (export 'gdk-window-merge-child-input-shapes)
392 (defcfun gdk-window-set-static-gravities :boolean
393 (window (g-object gdk-window))
394 (use-static :boolean))
396 (export 'gdk-window-set-static-gravities)
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);
408 (defcfun gdk-window-set-back-pixmap :void
409 (window (g-object gdk-window))
410 (pixmap (g-object pixmap))
411 (parent-relative :boolean))
413 (export 'gdk-window-set-back-pixmap)
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)))
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))))
432 (export 'gdk-window-get-geometry)
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))
439 (export 'gdk-window-set-geometry-hints)
441 (defcfun gdk_window_get_position :void
442 (window (g-object gdk-window))
443 (x (:pointer :int))
444 (y (:pointer :int)))
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))))
451 (export 'gdk-window-get-position)
453 (defcfun gdk_window_get_root_origin :void
454 (window (g-object gdk-window))
455 (x (:pointer :int))
456 (y (:pointer :int)))
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))))
463 (export 'gdk-window-get-root-origin)
465 (defcfun gdk_window_get_frame_extents :void
466 (window (g-object gdk-window))
467 (rectangle (g-boxed-foreign rectangle)))
469 (defun gdk-window-get-frame-extents (window)
470 (let ((rectangle (make-rectangle)))
471 (gdk_window_get_frame_extents window rectangle)
472 rectangle))
474 (export 'gdk-window-get-frame-extents)
476 (defcfun gdk_window_get_origin :int
477 (window (g-object gdk-window))
478 (x (:pointer :int))
479 (y (:pointer :int)))
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))))
486 (export 'gdk-window-get-origin)
488 ;; ignored
489 ;; gboolean gdk_window_get_deskrelative_origin (GdkWindow *window,
490 ;; gint *x,
491 ;; gint *y);
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))
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))))
507 (export 'gdk-window-get-root-coords))
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)))
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)))))
523 (export 'gdk-window-get-pointer)
525 (defcfun gdk_window_get_decorations :boolean
526 (window (g-object gdk-window))
527 (decorations (:pointer gdk-w-m-decoration)))
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)))
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)))
540 (export 'gdk-window-set-icon)
542 ;; ignored
543 ;; GList * gdk_window_get_toplevels (void);
545 (defcfun gdk-get-default-root-window (g-object gdk-window))
547 (export 'gdk-get-default-root-window)
549 ;; TODO
550 ;; GdkPointerHooks;
551 ;; GdkPointerHooks * gdk_set_pointer_hooks (const GdkPointerHooks *new_hooks);
553 #+gtk-2.18
554 (progn
555 (defcfun gdk-offscreen-window-get-pixmap (g-object pixmap)
556 (window (g-object gdk-window)))
558 (export 'gdk-offscreen-window-get-pixmap)
560 (defcfun (gdk-offscreen-window-embedder "gdk_offscreen_window_get_embedder") (g-object gdk-window)
561 (window (g-object gdk-window)))
563 (defcfun gdk_offscreen_window_set_embedder :void
564 (window (g-object gdk-window))
565 (embedder (g-object gdk-window)))
567 (defun (setf gdk-offscreen-window-embedder) (new-value window)
568 (gdk_offscreen_window_set_embedder window new-value))
570 (export 'gdk-offscreen-window-embedder)
572 (defcfun gdk-window-geometry-changed :void
573 (window (g-object gdk-window)))
575 (export 'gdk-window-geometry-changed))
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))
587 (export 'gdk-window-redirect-to-drawable)
589 (defcfun gdk-window-remove-redirection :void
590 (window (g-object gdk-window)))
592 (export 'gdk-window-remove-redirection)