X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=gdk%2Fgdk.functions.lisp;h=922f841d3be6d0b7eb42c59c3d5dca62bbd069c8;hb=bbb81efa5db629f5509af6702bf68bef61a18c18;hp=0285a4a8db9620053bab0156041bb06579f82c79;hpb=0d03b82a77743d2ea5ef69bea08735fa12857d92;p=cl-gtk2.git diff --git a/gdk/gdk.functions.lisp b/gdk/gdk.functions.lisp index 0285a4a..922f841 100644 --- a/gdk/gdk.functions.lisp +++ b/gdk/gdk.functions.lisp @@ -1,5 +1,8 @@ (in-package :gdk) +(defcfun (default-screen "gdk_screen_get_default") (g-object gdk-screen)) +(export 'default-screen) + (defcfun gdk-window-get-events event-mask (window (g-object gdk-window))) @@ -13,37 +16,57 @@ (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))) +(export 'gdk-window-events) + +(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-get-from-drawable (g-object pixbuf :already-referenced) + (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) + +(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)