[gimp/gimp-2-10] Enable hires retina support for the GTK2/OSX build



commit 465b4b10fb0b909a69a77abfade2bdfe951987e3
Author: Alex Samorukov <samm net-art cz>
Date:   Thu Nov 22 13:45:30 2018 +0000

    Enable hires retina support for the GTK2/OSX build

 app/display/gimpdisplayshell-draw.c | 14 ++++++++++++++
 1 file changed, 14 insertions(+)
---
diff --git a/app/display/gimpdisplayshell-draw.c b/app/display/gimpdisplayshell-draw.c
index 28456ae48d..e7dedba1d8 100644
--- a/app/display/gimpdisplayshell-draw.c
+++ b/app/display/gimpdisplayshell-draw.c
@@ -41,6 +41,9 @@
 #include "gimpdisplayshell-transform.h"
 #include "gimpdisplayxfer.h"
 
+#ifdef GDK_WINDOWING_QUARTZ
+#import <AppKit/AppKit.h>
+#endif
 
 /* #define GIMP_DISPLAY_RENDER_ENABLE_SCALING 1 */
 
@@ -147,6 +150,17 @@ gimp_display_shell_draw_image (GimpDisplayShell *shell,
   scale *=
     gdk_window_get_scale_factor (
       gtk_widget_get_window (gtk_widget_get_toplevel (GTK_WIDGET (shell))));
+#elif defined(GDK_WINDOWING_QUARTZ)
+  /* gtk2/osx retina support */
+  if ([
+      [NSScreen mainScreen]
+      respondsToSelector: @selector(backingScaleFactor)
+    ]) {
+    for (NSScreen * screen in [NSScreen screens]) {
+      float s = [screen backingScaleFactor];
+      if (s > scale) scale = s;
+    }
+  }
 #endif
 
   scale  = MIN (scale, GIMP_DISPLAY_RENDER_MAX_SCALE);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]