mirror of
https://github.com/subsurface/subsurface.git
synced 2025-01-19 14:25:27 +00:00
Use GDK methods to retrieve the actual screen DPI
gtk-gui.c: + added the method get_screen_dpi() that uses a simple formula to retrieve the actual screen DPI display.h: + use get_screen_dpi() in the SCALE_PRINT macro Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
6bec608ea0
commit
30466b9abb
2 changed files with 12 additions and 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 */
|
||||
|
|
10
gtk-gui.c
10
gtk-gui.c
|
@ -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;
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue