gdk: use new GBoxed type mapping
[cl-gtk2.git] / gdk / gdk.functions.lisp
index 0285a4a..4acadaf 100644 (file)
@@ -26,7 +26,7 @@
 
 (defcfun gdk-gc-set-rgb-fg-color :void
   (gc (g-object graphics-context))
-  (color (g-boxed-ptr color)))
+  (color (g-boxed-foreign color)))
 
 (defcfun gdk-drawable-get-size :void
   (drawable (g-object drawable))
@@ -39,7 +39,7 @@
     (gdk-drawable-get-size drawable x y)
     (values (mem-ref x :int) (mem-ref y :int))))
 
-(define-g-object-class "PangoLayout" pango-layout () ())
+(define-g-object-class "PangoLayout" pango-layout (:type-initializer "pango_layout_get_type") ())
 
 (defcfun gdk-draw-layout :void
   (drawable (g-object drawable))
   (x :int)
   (y :int)
   (layout (g-object pango-layout)))
+
+(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))
+
+(export 'drawable-size)
+
+(defcfun gdk-pixbuf-get-from-drawable (g-object pixbuf)
+  (dest (g-object pixbuf))
+  (src (g-object drawable))
+  (colormap :pointer)
+  (src-x :int)
+  (src-y :int)
+  (dest-x :int)
+  (dest-y :int)
+  (width :int)
+  (height :int))
+
+(defun pixbuf-get-from-drawable (pixbuf drawable &key (src-x 0) (src-y 0) (dest-x 0) (dest-y 0) (width -1) (height -1))
+  (gdk-pixbuf-get-from-drawable pixbuf drawable (null-pointer) src-x src-y dest-x dest-y width height))
+
+(export 'pixbuf-get-from-drawable)
+
+(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)