Improved image rendering: fix max-height
authorAlex Schroeder <alex@gnu.org>
Tue, 3 Aug 2021 07:21:24 +0000 (09:21 +0200)
committerAlex Schroeder <alex@gnu.org>
Tue, 3 Aug 2021 07:21:24 +0000 (09:21 +0200)
window-pixel-height's return value includes the mode line and header
line and the bottom divider, if any. In order for the image to fit
exactly, we therefore subtract window-header-line-height,
window-mode-line-height window, window-scroll-bar-height window, and
window-bottom-divider-width.

elpher.el

index e4d0e6e..0cd846a 100644 (file)
--- a/elpher.el
+++ b/elpher.el
@@ -1133,7 +1133,11 @@ If ADDRESS is not supplied or nil the record is rendered as an
                (window (get-buffer-window elpher-buffer-name)))
           (when window
             (setf (image-property image :max-width) (window-pixel-width window))
                (window (get-buffer-window elpher-buffer-name)))
           (when window
             (setf (image-property image :max-width) (window-pixel-width window))
-            (setf (image-property image :max-height) (window-pixel-height window)))
+            (setf (image-property image :max-height) (- (window-pixel-height window)
+                                                       (window-header-line-height window)
+                                                       (window-mode-line-height window)
+                                                       (window-scroll-bar-height window)
+                                                       (window-bottom-divider-width window))))
           (elpher-with-clean-buffer
            (insert-image image)
            (elpher-restore-pos)))
           (elpher-with-clean-buffer
            (insert-image image)
            (elpher-restore-pos)))