Add Gdk/Pango-interaction
[cl-gtk2.git] / gdk / gdk.threads.lisp
1 (in-package :gdk)
2
3 (defcfun gdk-threads-init :void)
4 (glib:at-init () (gdk-threads-init))
5
6 (defcfun gdk-threads-enter :void)
7 (export 'gdk-threads-enter)
8
9 (defcfun gdk-threads-leave :void)
10 (export 'gdk-threads-leave)
11
12 ;; void                gdk_threads_set_lock_functions      (GCallback enter_fn,
13 ;;                                                          GCallback leave_fn);
14
15 (defcallback source-func-callback :boolean
16     ((data :pointer))
17   (funcall (stable-pointer-value data)))
18
19 (defcallback stable-pointer-free-destroy-notify-callback :void ((data :pointer))
20   (free-stable-pointer data))
21
22 (defcfun gdk_threads_add_idle_full :uint
23   (priority :int)
24   (function :pointer)
25   (data :pointer)
26   (destroy-notify :pointer))
27
28 (defun gdk-threads-add-idle-full (priority function)
29   (gdk_threads_add_idle_full priority
30                              (callback source-func-callback)
31                              (allocate-stable-pointer function)
32                              (callback stable-pointer-free-destroy-notify-callback)))
33
34 (export 'gdk-threads-add-idle-full)
35
36 (defcfun gdk_threads_add_timeout_full :uint
37   (priority :int)
38   (interval :uint)
39   (function :pointer)
40   (data :pointer)
41   (destroy-notify :pointer))
42
43 (defun gdk-threads-add-timeout-full (priority interval-msec function)
44   (gdk_threads_add_timeout_full priority interval-msec
45                                 (callback source-func-callback)
46                                 (allocate-stable-pointer function)
47                                 (callback stable-pointer-free-destroy-notify-callback)))
48
49 (export 'gdk-threads-add-timeout-full)
50
51 (defcfun gdk_threads_add_timeout_seconds_full :uint
52   (priority :int)
53   (interval :uint)
54   (function :pointer)
55   (data :pointer)
56   (destroy-notify :pointer))
57
58 (defun gdk-threads-add-timeout-seconds-full (priority interval-sec function)
59   (gdk_threads_add_timeout_seconds_full priority interval-sec
60                                         (callback source-func-callback)
61                                         (allocate-stable-pointer function)
62                                         (callback stable-pointer-free-destroy-notify-callback)))
63
64 (export 'gdk-threads-add-timeout-seconds-full)