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