X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=gdk%2Fgdk.functions.lisp;h=89843eb0533e6fee0e90e261d0c862515877491a;hb=081b34b89b88e9db6b3177e71b616869560bb1b0;hp=96a5bf1aa4c1870d0968ebe27972648793907024;hpb=2194eebc575bb8086bb20ee75bde4488e4a67fda;p=cl-gtk2.git diff --git a/gdk/gdk.functions.lisp b/gdk/gdk.functions.lisp index 96a5bf1..89843eb 100644 --- a/gdk/gdk.functions.lisp +++ b/gdk/gdk.functions.lisp @@ -1,5 +1,11 @@ (in-package :gdk) +(defcfun (default-screen "gdk_screen_get_default") (g-object gdk-screen)) +(export 'default-screen) + +(defcfun (default-display "gdk_display_get_default") (g-object display)) +(export 'default-display) + (defcfun gdk-window-get-events event-mask (window (g-object gdk-window))) @@ -13,7 +19,7 @@ (defun (setf gdk-window-events) (new-value window) (gdk-window-set-events window new-value)) -(defcfun gdk-gc-new (g-object graphics-context) +(defcfun gdk-gc-new (g-object graphics-context :already-referenced) (drawable (g-object drawable))) (defcfun gdk-draw-line :void @@ -26,7 +32,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)) @@ -53,4 +59,42 @@ (defcfun gdk-atom-intern gdk-atom (name :string) - (only-if-exists :boolean)) \ No newline at end of file + (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)