%PDF- %PDF-
Direktori : /usr/local/share/emacs/27.2/lisp/ |
Current File : //usr/local/share/emacs/27.2/lisp/image.elc |
;ELC ;;; Compiled ;;; in Emacs version 27.2 ;;; 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\260\266\202\316B\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] 15) (#$ . 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)) (#$ . 1780)) #@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)) (#$ . 2212)) #@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")) (#$ . 2674)) (byte-code "\300\301\302\303\304DD\305\306\307\310\311&\210\300\312\302\303\313DD\314\306\315\316\317&\210\300\320\302\303\321DD\322\306\323\316\324&\210\325\326\327\"\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" image-use-external-converter #[0 "\300\207" [nil] 1] "If non-nil, `create-image' will use external converters for exotic formats.\nEmacs handles most of the common image formats (SVG, JPEG, PNG, GIF\nand some others) internally, but images that don't have native\nsupport in Emacs can still be displayed if an external conversion\nprogram (like ImageMagick \"convert\", GraphicsMagick \"gm\"\nor \"ffmpeg\") is installed." boolean "27.1" define-error unknown-image-type "Unknown image type"] 8) (defvar image-map (byte-code "\300 \301\302\303#\210\301\304\305#\210\301\306\307#\210\301\310\307#\210\301\311\312#\210\301\313\312#\210\301\314\315#\210\301\316\317#\210\211\207" [make-sparse-keymap define-key "-" image-decrease-size "+" image-increase-size [C-wheel-down] image-mouse-decrease-size [C-mouse-5] [C-wheel-up] image-mouse-increase-size [C-mouse-4] "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 (#$ . 5569)]) #@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\224 \304\303\305\306#)\266\203\205\224 \3072\224 \211G\310\211W\205\221 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\207 \211\316X\203\207 \312\307\317\320\211\\\n^#\303\305\306#)\266\203\"\210\321\322#\266\203\202* \266\2020\207" [inhibit-changing-match-data (error) string-to-unibyte nil "\\`\377\330" t string-match jfif 2 255 throw ash 8 224 239 "JFIF\\|Exif" substring + 1] 14 (#$ . 7772)]) (make-obsolete 'image-jpeg-p "It is unused inside Emacs and will be removed." "27.1") #@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>