;ELC
;;; Compiled
;;; in Emacs version 26.1
;;; with all optimizations.
;;; This file uses dynamic docstrings, first added in Emacs 19.29.
;;; This file does not contain utf-8 non-ASCII characters,
;;; and so can be loaded in Emacs versions earlier than 23.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(byte-code "\300\301\302\303\304\305%\210\306\307\310\"\207" [custom-declare-group image nil "Image support." :group multimedia defalias image-refresh image-flush] 6)
#@400 Alist of (REGEXP . IMAGE-TYPE) pairs used to auto-detect image types.
When the first bytes of an image file match REGEXP, it is assumed to
be of image type IMAGE-TYPE if IMAGE-TYPE is a symbol. If not a symbol,
IMAGE-TYPE must be a pair (PREDICATE . TYPE). PREDICATE is called
with one argument, a string containing the image data. If PREDICATE returns
a non-nil value, TYPE is the image's type.
(defconst image-type-header-regexps (byte-code "\300\301\302\303\304\305\306\307\310\311\312Q\313\314\315\316\317\260\266\202\320B\257 \207" [("\\`/[ \n
]*\\*.*XPM.\\*/" . xpm) ("\\`P[1-6]\\(?:\\(?:\\(?:#[^
\n]*[
\n]\\)*[[:space:]]\\)+\\(?:\\(?:#[^
\n]*[
\n]\\)*[0-9]\\)+\\)\\{2\\}" . pbm) ("\\`GIF8[79]a" . gif) ("\\`\211PNG
\n\n" . png) ("\\`[ \n
]*#define \\([a-z0-9_]+\\)_width [0-9]+\n#define \\1_height [0-9]+\n\\(#define \\1_x_hot [0-9]+\n#define \\1_y_hot [0-9]+\n\\)?static \\(unsigned \\)?char \\1_bits" . xbm) ("\\`\\(?:MM \\*\\|II\\* \\)" . tiff) ("\\`[ \n
]*%!PS" . postscript) ("\\`\377\330" . jpeg) "\\(?:[^-]\\|-[^-]\\)" "\\(?:!--" "*-->[
\n]*<\\)" "\\(?:<\\?xml[
\n]+[^>]*>\\)?[
\n]*<" "*" "\\(?:!DOCTYPE[
\n]+[^>]*>[
\n]*<[
\n]*" "*\\)?" "[Ss][Vv][Gg]" svg] 17) (#$ . 576))
#@159 Alist of (REGEXP . IMAGE-TYPE) pairs used to identify image files.
When the name of an image file match REGEXP, it is assumed to
be of image type IMAGE-TYPE.
(defvar image-type-file-name-regexps '(("\\.png\\'" . png) ("\\.gif\\'" . gif) ("\\.jpe?g\\'" . jpeg) ("\\.bmp\\'" . bmp) ("\\.xpm\\'" . xpm) ("\\.pbm\\'" . pbm) ("\\.xbm\\'" . xbm) ("\\.ps\\'" . postscript) ("\\.tiff?\\'" . tiff) ("\\.svgz?\\'" . svg)) (#$ . 1794))
#@284 Alist of (IMAGE-TYPE . AUTODETECT) pairs used to auto-detect image files.
(See `image-type-auto-detected-p').
AUTODETECT can be
- t always auto-detect.
- nil never auto-detect.
- maybe auto-detect only if the image type is available
(see `image-type-available-p').
(defvar image-type-auto-detectable '((pbm . t) (xbm) (bmp . maybe) (gif . maybe) (png . maybe) (xpm) (jpeg . maybe) (tiff . maybe) (svg . maybe) (postscript)) (#$ . 2226))
#@456 An alist associating image types with file name suffixes.
This is used as a hint by the ImageMagick library when detecting
the type of image data (that does not have an associated file name).
Each element has the form (MIME-CONTENT-TYPE EXTENSION).
If `create-image' is called with a :format attribute whose value
equals a content-type found in this list, the ImageMagick library is
told that the data would have the associated suffix if saved to a file.
(defvar image-format-suffixes '((image/x-rgb "rgb") (image/x-icon "ico")) (#$ . 2688))
(byte-code "\300\301\302\303\304DD\305\306\307\310\311&\210\300\312\302\303\313DD\314\306\315\316\317&\207" [custom-declare-variable image-load-path funcall function #[0 "\301\302\303\"!\300\304E\207" [data-directory file-name-as-directory expand-file-name "images" load-path] 4] "List of locations in which to search for image files.\nThe images for icons shown in the tool bar are also looked up\nin these locations.\n\nIf an element is a string, it defines a directory to search.\nIf an element is a variable symbol whose value is a string, that\nvalue defines a directory to search.\nIf an element is a variable symbol whose value is a list, the\nvalue is used as a list of directories to search.\n\nSubdirectories are not automatically included in the search." :type (repeat (choice directory variable)) :initialize custom-initialize-delay image-scaling-factor #[0 "\300\207" [auto] 1] "When displaying images, apply this scaling factor before displaying.\nThis is not supported for all image types, and is mostly useful\nwhen you have a high-resolution monitor.\nThe value is either a floating point number (where numbers higher\nthan 1 means to increase the size and lower means to shrink the\nsize), or the symbol `auto', which will compute a scaling factor\nbased on the font pixel size." (choice number (const :tag "Automatically compute" auto)) :version "26.1"] 8)
(defvar image-map (byte-code "\300 \301\302\303#\210\301\304\305#\210\301\306\307#\210\301\310\311#\210\211\207" [make-sparse-keymap define-key "-" image-decrease-size "+" image-increase-size "r" image-rotate "o" image-save] 5))
#@1244 Return a suitable search path for images used by LIBRARY.
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
in "`data-directory'/images".
Then this function returns a list of directories which contains
first the directory in which IMAGE was found, followed by the
value of `load-path'. If PATH is given, it is used instead of
`load-path'.
If NO-ERROR is non-nil and a suitable path can't be found, don't
signal an error. Instead, return a list of directories as before,
except that nil appears in place of the image directory.
Here is an example that uses a common idiom to provide
compatibility with versions of Emacs that lack the variable
`image-load-path':
;; Shush compiler.
(defvar image-load-path)
(let* ((load-path (image-load-path-for-library "mh-e" "mh-logo.xpm"))
(image-load-path (cons (car load-path)
(when (boundp \='image-load-path)
image-load-path))))
(mh-tool-bar-folder-buttons-init))
(fn LIBRARY IMAGE &optional PATH NO-ERROR)
(defalias 'image-load-path-for-library #[1026 "\204 \302\303!\210\204 \302\304!\210\305\211\306!\206 \307!\305\203? \310!\262\310!\211\262\203? \311!\262\312\313\"\262\202( \266\204\211\203W \211\314\312\315\"!\232\204W \211\262\202\302 \305\211\211\307 !\262\204j \302\316\n\"\210\314\312\310!\317P!!\262\314\312\310!\320P!!\262\321\312 \"!\203\216 \211\202\231 \321\312 \"!\205\231 \211\262\266\203\204\302 \211\203\253 \211\262\202\302 \203\272 \322\323#\210\202\302 \302\323#\210C\324\325\206\315 !\"\244\207" [data-directory load-path error "No library specified" "No image specified" nil image-search-load-path locate-library file-name-directory directory-file-name expand-file-name "../" file-name-as-directory "images" "Cannot find library %s in load-path" "../../etc/images" "../etc/images" file-exists-p message "Could not find image %s for library %s" delete copy-sequence] 13 (#$ . 4850)])
#@133 Value is non-nil if DATA, a string, consists of JFIF image data.
We accept the tag Exif because that is the same format.
(fn DATA)
(defalias 'image-jpeg-p #[257 "\3011 \302!0\202
\210\303\262\211\205\223 \304\303\305\306#)\266\203\205\223 \3072\223 \211G\310\211W\205\220 H\311U\204= \312\307\303\"\210\211T\262\211\310\\Y\203N \312\307\303\"\210\313TH\314\"\310\\H\\H\211\315Y\203\206 \211\316X\203\206 \312\307\317\211\\ ^O\303\305\306#)\266\203\"\210\320\321#\266\203\202* \266\2020\207" [inhibit-changing-match-data (error) string-to-unibyte nil "\\`\377\330" t string-match jfif 2 255 throw lsh 8 224 239 "JFIF\\|Exif" + 1] 14 (#$ . 7053)])
#@140 Determine the image type from image data DATA.
Value is a symbol specifying the image type or nil if type cannot
be determined.
(fn DATA)
(defalias 'image-type-from-data #[257 "\302\203G @@@A\2119\203! \302\303\304#)\266\203\2045 \211:\203> |