diff options
-rw-r--r-- | display.h | 4 | ||||
-rw-r--r-- | gtk-gui.c | 10 |
2 files changed, 12 insertions, 2 deletions
@@ -3,12 +3,12 @@ #include <cairo.h> -#define DPI_SCREEN 72.0 #define SCALE_SCREEN 1.0 -#define SCALE_PRINT (1.0 / DPI_SCREEN) +#define SCALE_PRINT (1.0 / get_screen_dpi()) extern void repaint_dive(void); extern void do_print(void); +extern gdouble get_screen_dpi(void); /* Plot info with smoothing, velocity indication * and one-, two- and three-minute minimums and maximums */ @@ -2020,3 +2020,13 @@ void set_dc_nickname(struct dive *dive) dc = dc->next; } } + +gdouble get_screen_dpi(void) +{ + const gdouble mm_per_inch = 25.4; + GdkScreen *scr = gdk_screen_get_default(); + gdouble h_mm = gdk_screen_get_height_mm(scr); + gdouble h = gdk_screen_get_height(scr); + gdouble dpi_h = floor((h / h_mm) * mm_per_inch); + return dpi_h; +} |