diff options
-rw-r--r-- | video/out/cocoa-cb/window.swift | 2 | ||||
-rw-r--r-- | video/out/cocoa_cb_common.swift | 9 |
2 files changed, 7 insertions, 4 deletions
diff --git a/video/out/cocoa-cb/window.swift b/video/out/cocoa-cb/window.swift index 25f144a38e..9e2c6e3122 100644 --- a/video/out/cocoa-cb/window.swift +++ b/video/out/cocoa-cb/window.swift @@ -476,7 +476,7 @@ class Window: NSWindow, NSWindowDelegate { func windowDidChangeBackingProperties(_ notification: Notification) { cocoaCB.layer?.contentsScale = backingScaleFactor - cocoaCB.flagEvents(VO_EVENT_WIN_STATE) + cocoaCB.flagEvents(VO_EVENT_DPI) } func windowWillStartLiveResize(_ notification: Notification) { diff --git a/video/out/cocoa_cb_common.swift b/video/out/cocoa_cb_common.swift index b677fd6740..9ba4ffd920 100644 --- a/video/out/cocoa_cb_common.swift +++ b/video/out/cocoa_cb_common.swift @@ -371,7 +371,7 @@ class CocoaCB: NSObject { } func getTargetScreen(forFullscreen fs: Bool) -> NSScreen? { - let screenID = fs ? (mpv?.opts.fsscreen_id ?? 100) : (mpv?.opts.screen_id ?? 100) + let screenID = fs ? (mpv?.opts.fsscreen_id ?? 0) : (mpv?.opts.screen_id ?? 0) return getScreenBy(id: Int(screenID)) } @@ -487,7 +487,10 @@ class CocoaCB: NSObject { return VO_FALSE case VOCTRL_GET_HIDPI_SCALE: if let scaleFactor = data?.assumingMemoryBound(to: CDouble.self) { - scaleFactor.pointee = Double(ccb.window?.backingScaleFactor ?? 1.0) + let factor = ccb.window?.backingScaleFactor ?? + ccb.getTargetScreen(forFullscreen: false)?.backingScaleFactor ?? + NSScreen.main?.backingScaleFactor ?? 1.0 + scaleFactor.pointee = Double(factor) return VO_TRUE; } return VO_FALSE @@ -524,7 +527,7 @@ class CocoaCB: NSObject { var array: UnsafeMutablePointer<UnsafeMutablePointer<Int8>?>? = nil var count: Int32 = 0 let screen = ccb.window != nil ? ccb.window?.screen : - ccb.getScreenBy(id: Int(ccb.mpv?.opts.screen_id ?? 0)) ?? + ccb.getTargetScreen(forFullscreen: false) ?? NSScreen.main let displayName = screen?.displayName ?? "Unknown" |