Mercurial > emacs
changeset 28721:b4ea18c92e38
(find-image): New function.
(defimage): Rewritten to find image at load time.
author | Gerd Moellmann <gerd@gnu.org> |
---|---|
date | Wed, 26 Apr 2000 17:34:09 +0000 |
parents | f8379b011476 |
children | a4c4a68597f5 |
files | lisp/image.el |
diffstat | 1 files changed, 27 insertions(+), 9 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/image.el Wed Apr 26 17:33:40 2000 +0000 +++ b/lisp/image.el Wed Apr 26 17:34:09 2000 +0000 @@ -176,8 +176,8 @@ ;;;###autoload -(defmacro defimage (symbol specs &optional doc) - "Define SYMBOL as an image. +(defun find-image (specs) + "Find an image, choosing one of a list of image specifications. SPECS is a list of image specifications. DOC is an optional documentation string. @@ -189,12 +189,7 @@ e.g. `xbm', FILE is the file to load the image from, and DATA is a string containing the actual image data. The first image specification whose TYPE is supported, and FILE exists, is used to -define SYMBOL. - -Example: - - (defimage test-image ((:type xpm :file \"~/test1.xpm\") - (:type xbm :file \"~/test1.xbm\")))" +define SYMBOL." (let (image) (while (and specs (null image)) (let* ((spec (car specs)) @@ -216,7 +211,30 @@ ((not (null data)) (setq image (cons 'image spec))))) (setq specs (cdr specs)))) - `(defvar ,symbol ',image ,doc))) + image)) + + +;;;###autoload +(defmacro defimage (symbol specs &optional doc) + "Define SYMBOL as an image. + +SPECS is a list of image specifications. DOC is an optional +documentation string. + +Each image specification in SPECS is a property list. The contents of +a specification are image type dependent. All specifications must at +least contain the properties `:type TYPE' and either `:file FILE' or +`:data DATA', where TYPE is a symbol specifying the image type, +e.g. `xbm', FILE is the file to load the image from, and DATA is a +string containing the actual image data. The first image +specification whose TYPE is supported, and FILE exists, is used to +define SYMBOL. + +Example: + + (defimage test-image ((:type xpm :file \"~/test1.xpm\") + (:type xbm :file \"~/test1.xbm\")))" + `(defvar ,symbol (find-image ',specs) ,doc)) (provide 'image)