summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorder richter <der.richter@gmx.de>2020-03-21 13:48:23 +0100
committerder richter <der.richter@gmx.de>2020-04-25 11:37:53 +0200
commit4deae5e4b53220c5becd7312a4b0d7f5707d5757 (patch)
treec096eb1c7890631b37ad8bd1cd66af8a3bde76dd
parent71295fb872ba6593c8591cff7398498e05afb298 (diff)
downloadmpv-4deae5e4b53220c5becd7312a4b0d7f5707d5757.tar.bz2
mpv-4deae5e4b53220c5becd7312a4b0d7f5707d5757.tar.xz
cocoa-cb: report actual unfs window size for current window scale
-rw-r--r--video/out/cocoa-cb/window.swift4
-rw-r--r--video/out/cocoa_cb_common.swift11
2 files changed, 15 insertions, 0 deletions
diff --git a/video/out/cocoa-cb/window.swift b/video/out/cocoa-cb/window.swift
index 9391b0d652..b1a5b6c26b 100644
--- a/video/out/cocoa-cb/window.swift
+++ b/video/out/cocoa-cb/window.swift
@@ -497,6 +497,10 @@ class Window: NSWindow, NSWindowDelegate {
func windowDidEndLiveResize(_ notification: Notification) {
cocoaCB.layer?.inLiveResize = false
cocoaCB.mpv?.setConfigProperty(maximized: isZoomed)
+
+ if let contentViewFrame = contentView?.frame, !isAnimating {
+ unfsContentFrame = convertToScreen(contentViewFrame)
+ }
}
func windowShouldClose(_ sender: NSWindow) -> Bool {
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)