2094ed4ae07e23229b80ba3abdb6c876869be3fd
[cl-gtk2.git] / gdk / gdk.functions.lisp
1 (in-package :gdk)
2
3 (defcfun (default-screen "gdk_screen_get_default") (g-object gdk-screen))
4 (export 'default-screen)
5
6 (defcfun gdk-window-get-events event-mask
7   (window (g-object gdk-window)))
8
9 (defcfun gdk-window-set-events :void
10   (window (g-object gdk-window))
11   (flags event-mask))
12
13 (defun gdk-window-events (window)
14   (gdk-window-get-events window))
15
16 (defun (setf gdk-window-events) (new-value window)
17   (gdk-window-set-events window new-value))
18
19 (export 'gdk-window-events)
20
21 (defcfun gdk-gc-new (g-object graphics-context :already-referenced)
22   (drawable (g-object drawable)))
23
24 (defcfun gdk-draw-line :void
25   (drawable (g-object drawable))
26   (gc (g-object graphics-context))
27   (x1 :int)
28   (y1 :int)
29   (x2 :int)
30   (y2 :int))
31
32 (defcfun gdk-gc-set-rgb-fg-color :void
33   (gc (g-object graphics-context))
34   (color (g-boxed-foreign color)))
35
36 (defcfun gdk-drawable-get-size :void
37   (drawable (g-object drawable))
38   (width (:pointer :int))
39   (height (:pointer :int)))
40
41 (defun drawable-get-size (drawable)
42   (with-foreign-objects ((x :int)
43                          (y :int))
44     (gdk-drawable-get-size drawable x y)
45     (values (mem-ref x :int) (mem-ref y :int))))
46
47 (export 'drawable-get-size)
48
49 (defcfun gdk-draw-layout :void
50   (drawable (g-object drawable))
51   (gc (g-object graphics-context))
52   (x :int)
53   (y :int)
54   (layout (g-object pango-layout)))
55
56 (defcfun gdk-atom-name (glib:g-string :free-from-foreign t)
57   (atom gdk-atom))
58
59 (defcfun gdk-atom-intern gdk-atom
60   (name :string)
61   (only-if-exists :boolean))
62
63 (defcfun gdk-pixbuf-get-from-drawable (g-object pixbuf :already-referenced)
64   (dest (g-object pixbuf))
65   (src (g-object drawable))
66   (colormap :pointer)
67   (src-x :int)
68   (src-y :int)
69   (dest-x :int)
70   (dest-y :int)
71   (width :int)
72   (height :int))
73
74 (defun pixbuf-get-from-drawable (pixbuf drawable &key (src-x 0) (src-y 0) (dest-x 0) (dest-y 0) (width -1) (height -1))
75   (gdk-pixbuf-get-from-drawable pixbuf drawable (null-pointer) src-x src-y dest-x dest-y width height))
76
77 (export 'pixbuf-get-from-drawable)
78
79 (defcfun gdk-pixbuf-savev :boolean
80   (pixbuf (g-object pixbuf))
81   (filename :string)
82   (type :string)
83   (option-keys (:pointer (:pointer :char)))
84   (option-values (:pointer (:pointer :char)))
85   (error :pointer))
86
87 (defun pixbuf-save (pixbuf filename type)
88   (gdk-pixbuf-savev pixbuf
89                     (etypecase filename
90                       (string filename)
91                       (pathname (namestring filename)))
92                     type
93                     (null-pointer)
94                     (null-pointer)
95                     (null-pointer)))
96
97 (export 'pixbuf-save)
98
99 (defcfun gdk-pixbuf-new-from-file (g-object pixbuf :already-referenced)
100   (filename :string)
101   (error :pointer))
102
103 (defun pixbuf-new-from-file (filename)
104   (glib:with-g-error (err)
105     (gdk-pixbuf-new-from-file filename err)))
106
107 (export 'pixbuf-new-from-file)