From ea9753a5f2e9654068fbafa73f3bb475cc26a964 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Sun, 9 May 2021 20:51:15 -0400 Subject: [PATCH] Fix #4989: pdf scaling on retina displays --- modules/tools/pdf/config.el | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/modules/tools/pdf/config.el b/modules/tools/pdf/config.el index 8cff07cf3..022b247ed 100644 --- a/modules/tools/pdf/config.el +++ b/modules/tools/pdf/config.el @@ -106,8 +106,24 @@ ;; Add retina support for MacOS users (eval-when! IS-MAC - (defvar +pdf--scaled-p nil) + (defun +pdf-view-create-page-a (page &optional window) + "Create an image of PAGE for display on WINDOW." + :override #'pdf-view-create-page + (let* ((size (pdf-view-desired-image-size page window)) + (width (if (not (pdf-view-use-scaling-p)) + (car size) + (* 2 (car size)))) + (data (pdf-cache-renderpage + page width width)) + (hotspots (pdf-view-apply-hotspot-functions + window page size))) + (pdf-view-create-image data + :width width + :scale (if (pdf-view-use-scaling-p) 0.5 1) + :map hotspots + :pointer 'arrow))) + (defvar +pdf--scaled-p nil) (defadvice! +pdf--scale-up-on-retina-display-a (orig-fn &rest args) "Scale up the PDF on retina displays." :around #'pdf-util-frame-scale-factor @@ -126,8 +142,7 @@ (defadvice! +pdf--use-scaling-on-ns-a () :before-until #'pdf-view-use-scaling-p (and (eq (framep-on-display) 'ns) - EMACS27+ - pdf-view-use-scaling)) + EMACS27+)) (defadvice! +pdf--supply-width-to-create-image-calls-a (orig-fn &rest args) :around '(pdf-annot-show-annotation