summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--DOCS/man/console.rst5
-rw-r--r--player/lua/console.lua9
2 files changed, 11 insertions, 3 deletions
diff --git a/DOCS/man/console.rst b/DOCS/man/console.rst
index 89726b72a6..3c83d7e877 100644
--- a/DOCS/man/console.rst
+++ b/DOCS/man/console.rst
@@ -89,7 +89,10 @@ Configurable Options
Default: 1
All drawing is scaled by this value, including the text borders and the
- cursor. Change it if you have a high-DPI display.
+ cursor.
+
+ If the VO backend in use has HiDPI scale reporting implemented, the option
+ value is scaled with the reported HiDPI scale.
``font``
Default: unset (picks a hardcoded font depending on detected platform)
diff --git a/player/lua/console.lua b/player/lua/console.lua
index bc74b5d313..c59874cd32 100644
--- a/player/lua/console.lua
+++ b/player/lua/console.lua
@@ -143,9 +143,13 @@ end
function update()
pending_update = false
+ local dpi_scale = mp.get_property_native("display-hidpi-scale", 1.0)
+
+ dpi_scale = dpi_scale * opts.scale
+
local screenx, screeny, aspect = mp.get_osd_size()
- screenx = screenx / opts.scale
- screeny = screeny / opts.scale
+ screenx = screenx / dpi_scale
+ screeny = screeny / dpi_scale
-- Clear the OSD if the REPL is not active
if not repl_active then
@@ -675,6 +679,7 @@ end)
-- PlayRes of the OSD will need to be adjusted.
mp.observe_property('osd-width', 'native', update)
mp.observe_property('osd-height', 'native', update)
+mp.observe_property('display-hidpi-scale', 'native', update)
-- Enable log messages. In silent mode, mpv will queue log messages in a buffer
-- until enable_messages is called again without the silent: prefix.