From: Lars Ingebrigtsen Date: Wed, 15 May 2019 00:53:56 +0000 (+0200) Subject: Make image scaling work without imagemagick support in eww X-Git-Tag: emacs-27.0.90~2891 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=e3fbe04cbcfecbf3c8b6c8686a2612dbd4b6386a;p=emacs.git Make image scaling work without imagemagick support in eww * lisp/net/shr.el (shr-rescale-image): Emacs has native image scaling now, so images can be rescaled without imagemagick support. --- diff --git a/lisp/net/shr.el b/lisp/net/shr.el index 3ab5116597b..3ff0c247780 100644 --- a/lisp/net/shr.el +++ b/lisp/net/shr.el @@ -1101,39 +1101,36 @@ WIDTH and HEIGHT are the sizes given in the HTML data, if any. The size of the displayed image will not exceed MAX-WIDTH/MAX-HEIGHT. If not given, use the current window width/height instead." - (if (or (not (fboundp 'imagemagick-types)) - (not (get-buffer-window (current-buffer)))) - (create-image data nil t :ascent 100) - (let* ((edges (window-inside-pixel-edges - (get-buffer-window (current-buffer)))) - (max-width (truncate (* shr-max-image-proportion - (or max-width - (- (nth 2 edges) (nth 0 edges)))))) - (max-height (truncate (* shr-max-image-proportion - (or max-height - (- (nth 3 edges) (nth 1 edges)))))) - (scaling (image-compute-scaling-factor image-scaling-factor))) - (when (or (and width - (> width max-width)) - (and height - (> height max-height))) - (setq width nil - height nil)) - (if (and width height - (< (* width scaling) max-width) - (< (* height scaling) max-height)) - (create-image - data 'imagemagick t - :ascent 100 - :width width - :height height - :format content-type) + (let* ((edges (window-inside-pixel-edges + (get-buffer-window (current-buffer)))) + (max-width (truncate (* shr-max-image-proportion + (or max-width + (- (nth 2 edges) (nth 0 edges)))))) + (max-height (truncate (* shr-max-image-proportion + (or max-height + (- (nth 3 edges) (nth 1 edges)))))) + (scaling (image-compute-scaling-factor image-scaling-factor))) + (when (or (and width + (> width max-width)) + (and height + (> height max-height))) + (setq width nil + height nil)) + (if (and width height + (< (* width scaling) max-width) + (< (* height scaling) max-height)) (create-image - data 'imagemagick t + data nil t :ascent 100 - :max-width max-width - :max-height max-height - :format content-type))))) + :width width + :height height + :format content-type) + (create-image + data nil t + :ascent 100 + :max-width max-width + :max-height max-height + :format content-type)))) ;; url-cache-extract autoloads url-cache. (declare-function url-cache-create-filename "url-cache" (url))