From 3de59702f475ded7317cdf78b6290a6868f1e8a3 Mon Sep 17 00:00:00 2001 From: Verrickt Date: Thu, 25 Oct 2018 19:36:46 +0800 Subject: [PATCH] Make HTML viewer and Markdown viewer per monitor DPI aware --- .../QuickLook.Plugin.HtmlViewer/WebpagePanel.cs | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/QuickLook.Plugin/QuickLook.Plugin.HtmlViewer/WebpagePanel.cs b/QuickLook.Plugin/QuickLook.Plugin.HtmlViewer/WebpagePanel.cs index 66a1bb9..e60c373 100644 --- a/QuickLook.Plugin/QuickLook.Plugin.HtmlViewer/WebpagePanel.cs +++ b/QuickLook.Plugin/QuickLook.Plugin.HtmlViewer/WebpagePanel.cs @@ -18,7 +18,9 @@ using System; using System.IO; using System.Text; +using System.Windows; using System.Windows.Controls; +using System.Windows.Media; using System.Windows.Threading; using QuickLook.Common.Helpers; @@ -28,7 +30,16 @@ namespace QuickLook.Plugin.HtmlViewer { public WebpagePanel() { - Zoom = (int) (100 * DpiHelper.GetCurrentScaleFactor().Vertical); + var factor = VisualTreeHelper.GetDpi(this); + Zoom = (int)(factor.DpiScaleX*100); + } + + // adjust zoom when DPI changes. + protected override void OnDpiChanged(DpiScale oldDpi, DpiScale newDpi) + { + var ratio = newDpi.DpiScaleX / oldDpi.DpiScaleX; + Zoom = (int)(Zoom * ratio); + base.OnDpiChanged(oldDpi, newDpi); } public void LoadFile(string path)