summaryrefslogtreecommitdiff
path: root/libdocument
diff options
context:
space:
mode:
authorMatthew Petroff <[email protected]>2016-10-19 12:36:30 -0400
committerraveit65 <[email protected]>2017-08-12 22:01:34 +0200
commita134dcdcd6e4b6934c5e8f3cc66ac824d9914d5b (patch)
treebbe658f472fde31e398e90ed74c888f332a71022 /libdocument
parentb6a20b77926727af99b39773ee104ffa457c604f (diff)
downloadatril-a134dcdcd6e4b6934c5e8f3cc66ac824d9914d5b.tar.bz2
atril-a134dcdcd6e4b6934c5e8f3cc66ac824d9914d5b.tar.xz
Take monitor scale factor into account when calculating zoom.
https://github.com/linuxmint/xreader/commit/c47a1f4
Diffstat (limited to 'libdocument')
-rw-r--r--libdocument/ev-document-misc.c6
-rw-r--r--libdocument/ev-document-misc.h2
2 files changed, 6 insertions, 2 deletions
diff --git a/libdocument/ev-document-misc.c b/libdocument/ev-document-misc.c
index d4f16482..fc47a9ee 100644
--- a/libdocument/ev-document-misc.c
+++ b/libdocument/ev-document-misc.c
@@ -372,7 +372,7 @@ ev_document_misc_invert_pixbuf (GdkPixbuf *pixbuf)
}
gdouble
-ev_document_misc_get_screen_dpi (GdkScreen *screen)
+ev_document_misc_get_screen_dpi (GdkScreen *screen, gint monitor)
{
gdouble dp, di;
@@ -382,6 +382,10 @@ ev_document_misc_get_screen_dpi (GdkScreen *screen)
/*diagonal in inches*/
di = hypot (gdk_screen_get_width_mm(screen), gdk_screen_get_height_mm (screen)) / 25.4;
+#ifdef HAVE_HIDPI_SUPPORT
+ di /= gdk_screen_get_monitor_scale_factor(screen, monitor);
+#endif
+
return (dp / di);
}
diff --git a/libdocument/ev-document-misc.h b/libdocument/ev-document-misc.h
index 98c791ca..e6480ed0 100644
--- a/libdocument/ev-document-misc.h
+++ b/libdocument/ev-document-misc.h
@@ -58,7 +58,7 @@ cairo_surface_t *ev_document_misc_surface_rotate_and_scale (cairo_surface_t *sur
void ev_document_misc_invert_surface (cairo_surface_t *surface);
void ev_document_misc_invert_pixbuf (GdkPixbuf *pixbuf);
-gdouble ev_document_misc_get_screen_dpi (GdkScreen *screen);
+gdouble ev_document_misc_get_screen_dpi (GdkScreen *screen, gint monitor);
gchar *ev_document_misc_format_date (GTime utime);