# HG changeset patch # User Joakim # Date 1277597935 -7200 # Node ID 7b3550d93e3ae80674cb63c4b17d48abdafc25e4 # Parent 73512e4aa257295e457b3c0e15a66861d801a4ae support for fit-width diff -r 73512e4aa257 -r 7b3550d93e3a lisp/image-mode.el --- a/lisp/image-mode.el Sat Jun 26 23:17:02 2010 +0200 +++ b/lisp/image-mode.el Sun Jun 27 02:18:55 2010 +0200 @@ -579,12 +579,16 @@ ((numberp image-transform-resize) (* image-transform-resize (cdr size))) ((eq image-transform-resize 'fit-height) - (nth 3 (window-inside-pixel-edges))) - ))) - `(,@(if height (list :height height)) - ,@(if (not (equal 0.0 image-transform-rotation)) - (list :rotation image-transform-rotation)) - ))) + (- (nth 3 (window-inside-pixel-edges)) (nth 1 (window-inside-pixel-edges)))) + (t nil))) + (width (if (eq image-transform-resize 'fit-width) + (- (nth 2 (window-inside-pixel-edges)) (nth 0 (window-inside-pixel-edges)))))) + + `(,@(if height (list :height height)) + ,@(if width (list :width width)) + ,@(if (not (equal 0.0 image-transform-rotation)) + (list :rotation image-transform-rotation)) + ))) (defun image-transform-set-scale (scale) (interactive "nscale:") @@ -594,9 +598,13 @@ (interactive) (image-transform-set-resize 'fit-height)) +(defun image-transform-fit-to-width () + (interactive) + (image-transform-set-resize 'fit-width)) + (defun image-transform-set-resize (resize) (setq image-transform-resize resize) - (image-toggle-display-image)) + (if (eq 'image-mode major-mode) (image-toggle-display-image))) (defun image-transform-set-rotation (rotation) (interactive "nrotation:")