mirror of
				https://github.com/subsurface/subsurface.git
				synced 2025-02-19 22:16:15 +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
		Add a link
		
	
		Reference in a new issue