forked from dmitryvk/cl-gtk2
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathgdk.functions.lisp
41 lines (32 loc) · 1.09 KB
/
gdk.functions.lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
(in-package :gdk)
(defcfun (default-screen "gdk_screen_get_default") (g-object gdk-screen))
(export 'default-screen)
(defcfun gdk-atom-name (glib:g-string :free-from-foreign t)
(atom gdk-atom))
(defcfun gdk-atom-intern gdk-atom
(name :string)
(only-if-exists :boolean))
(defcfun gdk-pixbuf-savev :boolean
(pixbuf (g-object pixbuf))
(filename :string)
(type :string)
(option-keys (:pointer (:pointer :char)))
(option-values (:pointer (:pointer :char)))
(error :pointer))
(defun pixbuf-save (pixbuf filename type)
(gdk-pixbuf-savev pixbuf
(etypecase filename
(string filename)
(pathname (namestring filename)))
type
(null-pointer)
(null-pointer)
(null-pointer)))
(export 'pixbuf-save)
(defcfun gdk-pixbuf-new-from-file (g-object pixbuf :already-referenced)
(filename :string)
(error :pointer))
(defun pixbuf-new-from-file (filename)
(glib:with-g-error (err)
(gdk-pixbuf-new-from-file filename err)))
(export 'pixbuf-new-from-file)