summaryrefslogtreecommitdiff
path: root/src/ui/window.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/ui/window.c')
-rw-r--r--src/ui/window.c32
1 files changed, 14 insertions, 18 deletions
diff --git a/src/ui/window.c b/src/ui/window.c
index 60c1483d..79073baa 100644
--- a/src/ui/window.c
+++ b/src/ui/window.c
@@ -63,9 +63,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
63#include "stb_image.h" 63#include "stb_image.h"
64#include "stb_image_resize.h" 64#include "stb_image_resize.h"
65 65
66#include <stdlib.h>
67#include <string.h>
68
69static iWindow *theWindow_ = NULL; 66static iWindow *theWindow_ = NULL;
70 67
71#if defined (iPlatformApple) || defined (iPlatformLinux) 68#if defined (iPlatformApple) || defined (iPlatformLinux)
@@ -1360,24 +1357,23 @@ static float pixelRatio_Window_(const iWindow *d) {
1360#endif 1357#endif
1361 1358
1362static float displayScale_Window_(const iWindow *d) { 1359static float displayScale_Window_(const iWindow *d) {
1363 char* LAGRANGE_OVERRIDE_DPI = getenv("LAGRANGE_OVERRIDE_DPI"); 1360 /* The environment variable LAGRANGE_OVERRIDE_DPI can be used to override the automatic
1364 1361 display DPI detection. If not set, or is an empty string, ignore it.
1365 /* If LAGRANGE_OVERRIDE_DPI is not set, or is an empty string, ignore it. */ 1362 Note: the same value used for all displays. */
1366 if ((LAGRANGE_OVERRIDE_DPI != NULL) && (strnlen(LAGRANGE_OVERRIDE_DPI, 1) > 0)) { 1363 const char *LAGRANGE_OVERRIDE_DPI = getenv("LAGRANGE_OVERRIDE_DPI");
1367 /* This if the user has set the env var, but it is not an int, atoi */ 1364 if (LAGRANGE_OVERRIDE_DPI && *LAGRANGE_OVERRIDE_DPI) {
1365 /* If the user has set the env var, but it is not an int, atoi */
1368 /* will return 0, in which case we just guess and return 96 DPI. */ 1366 /* will return 0, in which case we just guess and return 96 DPI. */
1369 int env_dpi = atoi(LAGRANGE_OVERRIDE_DPI); 1367 const int envDpi = atoi(LAGRANGE_OVERRIDE_DPI);
1370 1368 if (envDpi > 0) {
1371 if (env_dpi == 0) { 1369 return ((float) envDpi) / baseDPI_Window;
1372 fprintf(stderr, "WARNING: failed to parse LAGRANGE_OVERRIDE_DPI='%s', ignoring it\n", LAGRANGE_OVERRIDE_DPI);
1373 /* To avoid showing the window multiple times, overwrite
1374 * LAGRANGE_OVERRIDE_DPI with the empty string. */
1375 setenv("LAGRANGE_OVERRIDE_DPI", "", 1);
1376 } else {
1377 return ((float) env_dpi) / baseDPI_Window;
1378 } 1370 }
1371 fprintf(stderr, "[Window] WARNING: failed to parse LAGRANGE_OVERRIDE_DPI='%s', "
1372 "ignoring it\n", LAGRANGE_OVERRIDE_DPI);
1373 /* To avoid showing the warning multiple times, overwrite
1374 LAGRANGE_OVERRIDE_DPI with the empty string. */
1375 setenv("LAGRANGE_OVERRIDE_DPI", "", 1);
1379 } 1376 }
1380
1381#if defined (iPlatformApple) 1377#if defined (iPlatformApple)
1382 iUnused(d); 1378 iUnused(d);
1383 /* Apple UI sizes are fixed and only scaled by pixel ratio. */ 1379 /* Apple UI sizes are fixed and only scaled by pixel ratio. */