diff options
author | der richter <der.richter@gmx.de> | 2020-03-21 13:48:23 +0100 |
---|---|---|
committer | der richter <der.richter@gmx.de> | 2020-04-25 11:37:53 +0200 |
commit | 4deae5e4b53220c5becd7312a4b0d7f5707d5757 (patch) | |
tree | c096eb1c7890631b37ad8bd1cd66af8a3bde76dd /video/out/cocoa_cb_common.swift | |
parent | 71295fb872ba6593c8591cff7398498e05afb298 (diff) | |
download | mpv-4deae5e4b53220c5becd7312a4b0d7f5707d5757.tar.bz2 mpv-4deae5e4b53220c5becd7312a4b0d7f5707d5757.tar.xz |
cocoa-cb: report actual unfs window size for current window scale
Diffstat (limited to 'video/out/cocoa_cb_common.swift')
-rw-r--r-- | video/out/cocoa_cb_common.swift | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/video/out/cocoa_cb_common.swift b/video/out/cocoa_cb_common.swift index c50147ffca..c3f0ab2cc8 100644 --- a/video/out/cocoa_cb_common.swift +++ b/video/out/cocoa_cb_common.swift @@ -516,6 +516,17 @@ class CocoaCB: NSObject { return VO_TRUE } return VO_FALSE + case VOCTRL_GET_UNFS_WINDOW_SIZE: + let sizeData = data?.assumingMemoryBound(to: Int32.self) + let size = UnsafeMutableBufferPointer(start: sizeData, count: 2) + var rect = ccb.window?.unfsContentFrame ?? NSRect(x: 0, y: 0, width: 1280, height: 720) + if let screen = ccb.window?.currentScreen, !Bool(ccb.mpv?.opts.hidpi_window_scale ?? 0) { + rect = screen.convertRectToBacking(rect) + } + + size[0] = Int32(rect.size.width) + size[1] = Int32(rect.size.height) + return VO_TRUE case VOCTRL_SET_UNFS_WINDOW_SIZE: if let sizeData = data?.assumingMemoryBound(to: Int32.self) { let size = UnsafeBufferPointer(start: sizeData, count: 2) |