mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-12-25 10:47:00 +00:00
(find-image): New function.
(defimage): Rewritten to find image at load time.
This commit is contained in:
parent
d7d47268cc
commit
349c034d9e
@ -176,8 +176,8 @@ BUFFER nil or omitted means use the current buffer."
|
||||
|
||||
|
||||
;;;###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 @@ least contain the properties `:type TYPE' and either `:file FILE' or
|
||||
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 @@ Example:
|
||||
((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)
|
||||
|
Loading…
Reference in New Issue
Block a user