Function: doc-view-fit-height-to-window
doc-view-fit-height-to-window is an interactive and byte-compiled
function defined in doc-view.el.gz.
Signature
(doc-view-fit-height-to-window)
Documentation
Fit the image height to the window height.
Key Bindings
Source Code
;; Defined in /usr/src/emacs/lisp/doc-view.el.gz
(defun doc-view-fit-height-to-window ()
"Fit the image height to the window height."
(interactive)
(let ((win-height (- (nth 3 (window-inside-pixel-edges))
(nth 1 (window-inside-pixel-edges))))
(slice (doc-view-current-slice)))
(if (not slice)
(let ((img-height (cdr (image-display-size
(image-get-display-property) t))))
;; When users call 'doc-view-fit-height-to-window',
;; they might want to go to next page by typing SPC
;; ONLY once. So I used '(- win-height 1)' instead of
;; 'win-height'
(doc-view-enlarge (/ (float (- win-height 1)) (float img-height))))
;; If slice is set
(let* ((slice-height (nth 3 slice))
(scale-factor (/ (float (- win-height 1)) (float slice-height)))
(new-slice (mapcar (lambda (x) (ceiling (* scale-factor x))) slice)))
(doc-view-enlarge scale-factor)
(setf (doc-view-current-slice) new-slice)
(doc-view-goto-page (doc-view-current-page))))))