- (data pointer))
-
-; (defun pixmap-create (source &key color window colormap)
-; (let ((window
-; (if (not (or window colormap))
-; (get-root-window)
-; window)))
-; (multiple-value-bind (pixmap bitmap)
-; (typecase 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))))
-; (if color
-; (progn
-; (bitmap-unref bitmap)
-; pixmap)
-; (values pixmap bitmap)))))
+ (data (vector string)))
+
+(defun pixmap-create (source &key color window colormap)
+ (let ((window
+ (if (not (or window colormap))
+ (get-root-window)
+ window)))
+ (multiple-value-bind (pixmap mask)
+ (etypecase source
+ ((or string pathname)
+ (%pixmap-colormap-create-from-xpm
+ window colormap color (namestring (truename source))))
+ ((vector string)
+ (%pixmap-colormap-create-from-xpm-d window colormap color source)))
+ (unreference-instance pixmap)
+ (unreference-instance mask)
+ (values pixmap mask))))