From d9e13f42b8d2490bf89b0af4dd1d6a92d280a9af Mon Sep 17 00:00:00 2001 From: der richter Date: Tue, 24 Dec 2019 18:28:46 +0100 Subject: cocoa-cb: implement hidpi scale reporting --- video/out/cocoa-cb/window.swift | 1 + video/out/cocoa_cb_common.swift | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/video/out/cocoa-cb/window.swift b/video/out/cocoa-cb/window.swift index 90438591ab..55c0fa1688 100644 --- a/video/out/cocoa-cb/window.swift +++ b/video/out/cocoa-cb/window.swift @@ -474,6 +474,7 @@ class Window: NSWindow, NSWindowDelegate { func windowDidChangeBackingProperties(_ notification: Notification) { cocoaCB.layer?.contentsScale = backingScaleFactor + cocoaCB.flagEvents(VO_EVENT_WIN_STATE) } func windowWillStartLiveResize(_ notification: Notification) { diff --git a/video/out/cocoa_cb_common.swift b/video/out/cocoa_cb_common.swift index 6e016812ab..b677fd6740 100644 --- a/video/out/cocoa_cb_common.swift +++ b/video/out/cocoa_cb_common.swift @@ -485,6 +485,12 @@ class CocoaCB: NSObject { return VO_TRUE } return VO_FALSE + case VOCTRL_GET_HIDPI_SCALE: + if let scaleFactor = data?.assumingMemoryBound(to: CDouble.self) { + scaleFactor.pointee = Double(ccb.window?.backingScaleFactor ?? 1.0) + return VO_TRUE; + } + return VO_FALSE case VOCTRL_RESTORE_SCREENSAVER: ccb.enableDisplaySleep() return VO_TRUE -- cgit v1.2.3