Use glfw primary monitor content scale for logical DPI on macOS as well

It gives the correct DPI value on a MacBook Air monitor, while physical
DPI is too high, leading to overlarge fonts.
This commit is contained in:
Kovid Goyal 2017-12-12 23:47:42 +05:30
parent 2e570e21a0
commit e0ef563885
No known key found for this signature in database
GPG Key ID: 06BC317B515ACE7C

View File

@ -78,13 +78,10 @@ def get_logical_dpi(override_dpi=None):
if override_dpi is not None: if override_dpi is not None:
get_logical_dpi.ans = override_dpi get_logical_dpi.ans = override_dpi
if not hasattr(get_logical_dpi, 'ans'): if not hasattr(get_logical_dpi, 'ans'):
if is_macos: factor = 72.0 if is_macos else 96.0
# TODO: Investigate if this needs a different implementation on OS X xscale, yscale = glfw_primary_monitor_content_scale()
get_logical_dpi.ans = glfw_get_physical_dpi() xdpi, ydpi = xscale * factor, yscale * factor
else: get_logical_dpi.ans = xdpi, ydpi
xscale, yscale = glfw_primary_monitor_content_scale()
xdpi, ydpi = xscale * 96.0, yscale * 96.0
get_logical_dpi.ans = xdpi, ydpi
return get_logical_dpi.ans return get_logical_dpi.ans