From 5161dc43d63067f4054ce726d94d75b2cca7c359 Mon Sep 17 00:00:00 2001 From: bubnikv Date: Fri, 17 May 2019 18:40:13 +0200 Subject: [PATCH] Enumerate screens and calculate maximum screen scaling. --- src/slic3r/Utils/MacDarkMode.hpp | 1 + src/slic3r/Utils/MacDarkMode.mm | 11 +++++++++++ 2 files changed, 12 insertions(+) diff --git a/src/slic3r/Utils/MacDarkMode.hpp b/src/slic3r/Utils/MacDarkMode.hpp index cfdc028882..ea8a7ae43f 100644 --- a/src/slic3r/Utils/MacDarkMode.hpp +++ b/src/slic3r/Utils/MacDarkMode.hpp @@ -6,6 +6,7 @@ namespace GUI { #if __APPLE__ extern bool mac_dark_mode(); +extern double mac_max_scaling_factor(); #endif diff --git a/src/slic3r/Utils/MacDarkMode.mm b/src/slic3r/Utils/MacDarkMode.mm index 4177ee371c..514b6e7d3f 100644 --- a/src/slic3r/Utils/MacDarkMode.mm +++ b/src/slic3r/Utils/MacDarkMode.mm @@ -15,6 +15,17 @@ bool mac_dark_mode() } +double mac_max_scaling_factor() +{ + double scaling = 1.; + if ([NSScreen screens] == nil) { + scalign = [[NSScreen mainScreen] backingScaleFactor]; + } else { + for (int i = 0; i < [[NSScreen screens] count]; ++ i) + scaling = std::max(scaling, [[[NSScreen screens] objectAtIndex:0] backingScaleFactor]); + } + return scalign; +} } }