summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2020-11-17 19:24:47 +0000
committerMatthias Clasen <mclasen@redhat.com>2020-11-17 19:24:47 +0000
commit6b475aacd26ca7f341670c97d1b5a5b30f560399 (patch)
treedad181b54b852a7d3b7dbaa3122f578014bf1e69
parent1c7daece7ac987213c75bf320deaf0e884a39490 (diff)
parent37a8c138f9d3702cfb57ad3e543ee80542994773 (diff)
downloadgtk+-6b475aacd26ca7f341670c97d1b5a5b30f560399.tar.gz
Merge branch 'wip/chergert/gdk-macos-for-master' into 'master'
inspector: handle differences in DPI between backends See merge request GNOME/gtk!2857
-rw-r--r--gtk/inspector/visual.c46
1 files changed, 22 insertions, 24 deletions
diff --git a/gtk/inspector/visual.c b/gtk/inspector/visual.c
index fd082112e2..f3cb4695ac 100644
--- a/gtk/inspector/visual.c
+++ b/gtk/inspector/visual.c
@@ -52,6 +52,9 @@
#ifdef GDK_WINDOWING_WAYLAND
#include "wayland/gdkwayland.h"
#endif
+#ifdef GDK_WINDOWING_MACOS
+#include "macos/gdkmacos.h"
+#endif
#include "gdk/gdk-private.h"
@@ -173,34 +176,27 @@ redraw_everything (void)
}
static double
-get_font_scale (GtkInspectorVisual *vis)
+get_dpi_ratio (GtkInspectorVisual *vis)
{
-#ifdef GDK_WINDOWING_X11
- if (GDK_IS_X11_DISPLAY (vis->display))
- {
- int dpi_int;
-
- g_object_get (gtk_settings_get_for_display (vis->display),
- "gtk-xft-dpi", &dpi_int,
- NULL);
-
- return dpi_int / (96.0 * 1024.0);
- }
+#ifdef GDK_WINDOWING_MACOS
+ if (GDK_IS_MACOS_DISPLAY (vis->display))
+ return 72.0 * 1024.0;
#endif
-#ifdef GDK_WINDOWING_WAYLAND
- if (GDK_IS_WAYLAND_DISPLAY (vis->display))
- {
- int dpi_int;
- g_object_get (gtk_settings_get_for_display (vis->display),
- "gtk-xft-dpi", &dpi_int,
- NULL);
+ return 96.0 * 1024.0;
+}
- return dpi_int / (96.0 * 1024.0);
- }
-#endif
+static double
+get_font_scale (GtkInspectorVisual *vis)
+{
+ double ratio = get_dpi_ratio (vis);
+ int dpi_int;
+
+ g_object_get (gtk_settings_get_for_display (vis->display),
+ "gtk-xft-dpi", &dpi_int,
+ NULL);
- return 1.0;
+ return dpi_int / ratio;
}
static void
@@ -209,8 +205,10 @@ update_font_scale (GtkInspectorVisual *vis,
gboolean update_adjustment,
gboolean update_entry)
{
+ double ratio = get_dpi_ratio (vis);
+
g_object_set (gtk_settings_get_for_display (vis->display),
- "gtk-xft-dpi", (int)(factor * 96 * 1024),
+ "gtk-xft-dpi", (int)(factor * ratio),
NULL);
if (update_adjustment)