diff options
author | Matthew Petroff <[email protected]> | 2016-10-19 12:36:30 -0400 |
---|---|---|
committer | raveit65 <[email protected]> | 2017-08-12 22:01:34 +0200 |
commit | a134dcdcd6e4b6934c5e8f3cc66ac824d9914d5b (patch) | |
tree | bbe658f472fde31e398e90ed74c888f332a71022 /libdocument | |
parent | b6a20b77926727af99b39773ee104ffa457c604f (diff) | |
download | atril-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.c | 6 | ||||
-rw-r--r-- | libdocument/ev-document-misc.h | 2 |
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); |