From: espen Date: Mon, 4 Sep 2000 22:12:45 +0000 (+0000) Subject: pixmap-create now accepts a vector of strings X-Git-Tag: clg-0-90~455 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~mdw/git/clg/commitdiff_plain/b53669e61fdf505469a474e65fe23c3e6e99c5e3 pixmap-create now accepts a vector of strings --- diff --git a/gdk/gdk.lisp b/gdk/gdk.lisp index 675f64c..ce298c5 100644 --- a/gdk/gdk.lisp +++ b/gdk/gdk.lisp @@ -15,7 +15,7 @@ ;; License along with this library; if not, write to the Free Software ;; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -;; $Id: gdk.lisp,v 1.2 2000/08/23 17:32:30 espen Exp $ +;; $Id: gdk.lisp,v 1.3 2000/09/04 22:12:45 espen Exp $ (in-package "GDK") @@ -396,12 +396,12 @@ (define-foreign %pixmap-colormap-create-from-xpm () pixmap (color (or null color)) (filename string)) -(define-foreign pixmap-colormap-create-from-xpm-d () pixmap +(define-foreign %pixmap-colormap-create-from-xpm-d () pixmap (window (or null window)) (colormap (or null colormap)) (mask bitmap :out) (color (or null color)) - (data pointer)) + (data (vector string))) (defun pixmap-create (source &key color window colormap) (let ((window @@ -409,14 +409,12 @@ (defun pixmap-create (source &key color window colormap) (get-root-window) window))) (multiple-value-bind (pixmap mask) - (typecase source + (etypecase source ((or string pathname) (%pixmap-colormap-create-from-xpm window colormap color (namestring (truename source)))) -; (t -; (with-array (data :initial-contents source :free-contents t) -; (pixmap-colormap-create-from-xpm-d window colormap color data))) - ) + ((vector string) + (%pixmap-colormap-create-from-xpm-d window colormap color source))) (unreference-instance pixmap) (unreference-instance mask) (values pixmap mask))))