(in-package :gdk)
-(defcfun gdk-window-get-events event-mask
- (window (g-object gdk-window)))
-
-(defcfun gdk-window-set-events :void
- (window (g-object gdk-window))
- (flags event-mask))
-
-(defun gdk-window-events (window)
- (gdk-window-get-events window))
-
-(defun (setf gdk-window-events) (new-value window)
- (gdk-window-set-events window new-value))
-
-(defcfun gdk-gc-new (g-object graphics-context)
- (drawable (g-object drawable)))
-
-(defcfun gdk-draw-line :void
- (drawable (g-object drawable))
- (gc (g-object graphics-context))
- (x1 :int)
- (y1 :int)
- (x2 :int)
- (y2 :int))
-
-(defcfun gdk-gc-set-rgb-fg-color :void
- (gc (g-object graphics-context))
- (color (g-boxed-ptr color)))
-
-(defcfun gdk-drawable-get-size :void
- (drawable (g-object drawable))
- (width (:pointer :int))
- (height (:pointer :int)))
-
-(defun drawable-get-size (drawable)
- (with-foreign-objects ((x :int)
- (y :int))
- (gdk-drawable-get-size drawable x y)
- (values (mem-ref x :int) (mem-ref y :int))))
-
-(define-g-object-class "PangoLayout" pango-layout () ())
-
-(defcfun gdk-draw-layout :void
- (drawable (g-object drawable))
- (gc (g-object graphics-context))
- (x :int)
- (y :int)
- (layout (g-object pango-layout)))
+(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)