Added finalizing of all gtk+ classes at the end of compilation
[cl-gtk2.git] / gdk / gdk.threads.lisp
blob5be774342a2e289c51f4e8b86488baed20ff3136
1 (in-package :gdk)
3 (defcfun gdk-threads-init :void)
4 (glib:at-init () (gdk-threads-init))
6 (defcfun gdk-threads-enter :void)
7 (export 'gdk-threads-enter)
9 (defcfun gdk-threads-leave :void)
10 (export 'gdk-threads-leave)
12 (defmacro with-gdk-threads-lock (&body body)
13 `(progn
14 (gdk-threads-enter)
15 (unwind-protect
16 (progn ,@body)
17 (gdk-threads-leave))))
18 (export 'with-gdk-threads-lock)
20 ;; ignored:
21 ;; void gdk_threads_set_lock_functions (GCallback enter_fn,
22 ;; GCallback leave_fn);
24 (defcallback source-func-callback :boolean
25 ((data :pointer))
26 (funcall (stable-pointer-value data)))
28 (defcallback stable-pointer-free-destroy-notify-callback :void ((data :pointer))
29 (free-stable-pointer data))
31 (defcfun gdk_threads_add_idle_full :uint
32 (priority :int)
33 (function :pointer)
34 (data :pointer)
35 (destroy-notify :pointer))
37 (defun gdk-threads-add-idle-full (priority function)
38 (gdk_threads_add_idle_full priority
39 (callback source-func-callback)
40 (allocate-stable-pointer function)
41 (callback stable-pointer-free-destroy-notify-callback)))
43 (export 'gdk-threads-add-idle-full)
45 (defcfun gdk_threads_add_timeout_full :uint
46 (priority :int)
47 (interval :uint)
48 (function :pointer)
49 (data :pointer)
50 (destroy-notify :pointer))
52 (defun gdk-threads-add-timeout-full (priority interval-msec function)
53 (gdk_threads_add_timeout_full priority interval-msec
54 (callback source-func-callback)
55 (allocate-stable-pointer function)
56 (callback stable-pointer-free-destroy-notify-callback)))
58 (export 'gdk-threads-add-timeout-full)
60 (defcfun gdk_threads_add_timeout_seconds_full :uint
61 (priority :int)
62 (interval :uint)
63 (function :pointer)
64 (data :pointer)
65 (destroy-notify :pointer))
67 (defun gdk-threads-add-timeout-seconds-full (priority interval-sec function)
68 (gdk_threads_add_timeout_seconds_full priority interval-sec
69 (callback source-func-callback)
70 (allocate-stable-pointer function)
71 (callback stable-pointer-free-destroy-notify-callback)))
73 (export 'gdk-threads-add-timeout-seconds-full)