Add display-add-client-message-handler and gdk-spawn-on-screen
[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 ;; ignored:
13 ;; void                gdk_threads_set_lock_functions      (GCallback enter_fn,
14 ;;                                                          GCallback leave_fn);
15
16 (defcallback source-func-callback :boolean
17     ((data :pointer))
18   (funcall (stable-pointer-value data)))
19
20 (defcallback stable-pointer-free-destroy-notify-callback :void ((data :pointer))
21   (free-stable-pointer data))
22
23 (defcfun gdk_threads_add_idle_full :uint
24   (priority :int)
25   (function :pointer)
26   (data :pointer)
27   (destroy-notify :pointer))
28
29 (defun gdk-threads-add-idle-full (priority function)
30   (gdk_threads_add_idle_full priority
31                              (callback source-func-callback)
32                              (allocate-stable-pointer function)
33                              (callback stable-pointer-free-destroy-notify-callback)))
34
35 (export 'gdk-threads-add-idle-full)
36
37 (defcfun gdk_threads_add_timeout_full :uint
38   (priority :int)
39   (interval :uint)
40   (function :pointer)
41   (data :pointer)
42   (destroy-notify :pointer))
43
44 (defun gdk-threads-add-timeout-full (priority interval-msec function)
45   (gdk_threads_add_timeout_full priority interval-msec
46                                 (callback source-func-callback)
47                                 (allocate-stable-pointer function)
48                                 (callback stable-pointer-free-destroy-notify-callback)))
49
50 (export 'gdk-threads-add-timeout-full)
51
52 (defcfun gdk_threads_add_timeout_seconds_full :uint
53   (priority :int)
54   (interval :uint)
55   (function :pointer)
56   (data :pointer)
57   (destroy-notify :pointer))
58
59 (defun gdk-threads-add-timeout-seconds-full (priority interval-sec function)
60   (gdk_threads_add_timeout_seconds_full priority interval-sec
61                                         (callback source-func-callback)
62                                         (allocate-stable-pointer function)
63                                         (callback stable-pointer-free-destroy-notify-callback)))
64
65 (export 'gdk-threads-add-timeout-seconds-full)