]> code.delx.au - gnu-emacs/blobdiff - lisp/image.el
(enum event_kind) [MAC_OS]: Update comment for MAC_APPLE_EVENT.
[gnu-emacs] / lisp / image.el
index 357450ec4734e8397f168aa21c17fcb28c47cc80..b388396ded71bfaea202de01ce8f466ce41f5377 100644 (file)
@@ -79,9 +79,9 @@ value is used as a list of directories to search.")
 
 
 (defun image-load-path-for-library (library image &optional path no-error)
-  "Return a suitable search path for images relative to LIBRARY.
+  "Return a suitable search path for images used by LIBRARY.
 
-First it searches for IMAGE in `image-load-path' (excluding
+It searches for IMAGE in `image-load-path' (excluding
 \"`data-directory'/images\") and `load-path', followed by a path
 suitable for LIBRARY, which includes \"../../etc/images\" and
 \"../etc/images\" relative to the library file itself, and then
@@ -280,27 +280,14 @@ be determined."
 
 
 ;;;###autoload
-(defun image-type-available-p (type)
-  "Return non-nil if image type TYPE is available.
-Image types are symbols like `xbm' or `jpeg'."
-  (and (fboundp 'init-image-library)
-       (init-image-library type image-library-alist)))
-
-
-;;;###autoload
-(defun create-image (file-or-data &optional type data-p &rest props)
-  "Create an image.
+(defun image-type (file-or-data &optional type data-p)
+  "Determine and return image type.
 FILE-OR-DATA is an image file name or image data.
 Optional TYPE is a symbol describing the image type.  If TYPE is omitted
 or nil, try to determine the image type from its first few bytes
 of image data.  If that doesn't work, and FILE-OR-DATA is a file name,
 use its file extension as image type.
-Optional DATA-P non-nil means FILE-OR-DATA is a string containing image data.
-Optional PROPS are additional image attributes to assign to the image,
-like, e.g. `:mask MASK'.
-Value is the image created, or nil if images of type TYPE are not supported.
-
-Images should not be larger than specified by `max-image-size'."
+Optional DATA-P non-nil means FILE-OR-DATA is a string containing image data."
   (when (and (not data-p) (not (stringp file-or-data)))
     (error "Invalid image file name `%s'" file-or-data))
   (cond ((null data-p)
@@ -319,6 +306,31 @@ Images should not be larger than specified by `max-image-size'."
     (error "Cannot determine image type"))
   (unless (symbolp type)
     (error "Invalid image type `%s'" type))
+  type)
+
+;;;###autoload
+(defun image-type-available-p (type)
+  "Return non-nil if image type TYPE is available.
+Image types are symbols like `xbm' or `jpeg'."
+  (and (fboundp 'init-image-library)
+       (init-image-library type image-library-alist)))
+
+
+;;;###autoload
+(defun create-image (file-or-data &optional type data-p &rest props)
+  "Create an image.
+FILE-OR-DATA is an image file name or image data.
+Optional TYPE is a symbol describing the image type.  If TYPE is omitted
+or nil, try to determine the image type from its first few bytes
+of image data.  If that doesn't work, and FILE-OR-DATA is a file name,
+use its file extension as image type.
+Optional DATA-P non-nil means FILE-OR-DATA is a string containing image data.
+Optional PROPS are additional image attributes to assign to the image,
+like, e.g. `:mask MASK'.
+Value is the image created, or nil if images of type TYPE are not supported.
+
+Images should not be larger than specified by `max-image-size'."
+  (setq type (image-type file-or-data type data-p))
   (when (image-type-available-p type)
     (append (list 'image :type type (if data-p :data :file) file-or-data)
            props)))