From: Juanjo MarĂ­n Date: Sun, 21 Feb 2010 11:14:25 +0000 (+0100) Subject: Fix dpi calculation X-Git-Tag: EVINCE_2_29_91~7 X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=commitdiff_plain;h=db8a118298552769e835c67d29dfe1fa41de698a;p=evince.git Fix dpi calculation Fixes bug #608586. --- diff --git a/shell/ev-utils.c b/shell/ev-utils.c index 8cda8899..d77e91ff 100644 --- a/shell/ev-utils.c +++ b/shell/ev-utils.c @@ -307,14 +307,17 @@ gdouble get_screen_dpi (GtkWindow *window) { GdkScreen *screen; - gdouble xdpi, ydpi; + gdouble dp, di; screen = gtk_window_get_screen (window); - xdpi = 25.4 * gdk_screen_get_width (screen) / gdk_screen_get_width_mm (screen); - ydpi = 25.4 * gdk_screen_get_height (screen) / gdk_screen_get_height_mm (screen); - - return (xdpi + ydpi) / 2.0; + /*diagonal in pixels*/ + dp = hypot (gdk_screen_get_width (screen), gdk_screen_get_height (screen)); + + /*diagonal in inches*/ + di = hypot (gdk_screen_get_width_mm(screen), gdk_screen_get_height_mm (screen)) / 25.4; + + return (dp / di); }