@@ -57,7 +57,7 @@ public func getShareableContentSync(
5757 let semaphore = DispatchSemaphore ( value: 0 )
5858 var resultContent : SCShareableContent ?
5959 var resultError : String ?
60-
60+
6161 Task {
6262 do {
6363 let content = try await SCShareableContent . excludingDesktopWindows (
@@ -70,30 +70,30 @@ public func getShareableContentSync(
7070 }
7171 semaphore. signal ( )
7272 }
73-
73+
7474 // Wait with timeout (5 seconds)
7575 let timeout = semaphore. wait ( timeout: . now( ) + 5.0 )
76-
76+
7777 if timeout == . timedOut {
7878 " Timeout waiting for shareable content " . withCString { ptr in
7979 strncpy ( errorBuffer, ptr, errorBufferSize - 1 )
8080 errorBuffer [ errorBufferSize - 1 ] = 0
8181 }
8282 return nil
8383 }
84-
84+
8585 if let error = resultError {
8686 error. withCString { ptr in
8787 strncpy ( errorBuffer, ptr, errorBufferSize - 1 )
8888 errorBuffer [ errorBufferSize - 1 ] = 0
8989 }
9090 return nil
9191 }
92-
92+
9393 if let content = resultContent {
9494 return retain ( content)
9595 }
96-
96+
9797 " Unknown error " . withCString { ptr in
9898 strncpy ( errorBuffer, ptr, errorBufferSize - 1 )
9999 errorBuffer [ errorBufferSize - 1 ] = 0
@@ -803,10 +803,13 @@ public func setStreamConfigurationCaptureDynamicRange(_ config: OpaquePointer, _
803803 switch value {
804804 case 0 :
805805 cfg. captureDynamicRange = . SDR
806+
806807 case 1 :
807808 cfg. captureDynamicRange = . hdrLocalDisplay
809+
808810 case 2 :
809811 cfg. captureDynamicRange = . hdrCanonicalDisplay
812+
810813 default :
811814 cfg. captureDynamicRange = . SDR
812815 }
@@ -820,10 +823,13 @@ public func getStreamConfigurationCaptureDynamicRange(_ config: OpaquePointer) -
820823 switch cfg. captureDynamicRange {
821824 case . SDR:
822825 return 0
826+
823827 case . hdrLocalDisplay:
824828 return 1
829+
825830 case . hdrCanonicalDisplay:
826831 return 2
832+
827833 @unknown default :
828834 return 0
829835 }
@@ -969,9 +975,9 @@ private class StreamOutputHandler: NSObject, SCStreamOutput {
969975private class HandlerRegistry {
970976 private var handlers : [ String : StreamOutputHandler ] = [ : ]
971977 private let lock = NSLock ( )
972-
978+
973979 private func key( for stream: OpaquePointer , type: Int32 ) -> String {
974- return " \( UInt ( bitPattern: stream) ) _ \( type) "
980+ " \( UInt ( bitPattern: stream) ) _ \( type) "
975981 }
976982
977983 func store( _ handler: StreamOutputHandler , for stream: OpaquePointer , type: Int32 ) {
@@ -1124,7 +1130,7 @@ public func removeStreamOutput(
11241130public func createDispatchQueue( _ label: UnsafePointer < CChar > , _ qos: Int32 ) -> OpaquePointer {
11251131 let labelStr = String ( cString: label)
11261132 let qosClass : DispatchQoS
1127-
1133+
11281134 switch qos {
11291135 case 0 : qosClass = . background
11301136 case 1 : qosClass = . utility
@@ -1133,7 +1139,7 @@ public func createDispatchQueue(_ label: UnsafePointer<CChar>, _ qos: Int32) ->
11331139 case 4 : qosClass = . userInteractive
11341140 default : qosClass = . default
11351141 }
1136-
1142+
11371143 let queue = DispatchQueue ( label: labelStr, qos: qosClass)
11381144 return retain ( queue)
11391145}
@@ -1839,17 +1845,17 @@ public func releaseCGImage(_ image: OpaquePointer) {
18391845@_cdecl ( " cgimage_get_data " )
18401846public func getCGImageData( _ image: OpaquePointer , _ outPtr: UnsafeMutablePointer < UnsafeRawPointer ? > , _ outLength: UnsafeMutablePointer < Int > ) -> Bool {
18411847 let cgImage = Unmanaged < CGImage > . fromOpaque ( UnsafeRawPointer ( image) ) . takeUnretainedValue ( )
1842-
1848+
18431849 let width = cgImage. width
18441850 let height = cgImage. height
18451851 let bytesPerPixel = 4 // RGBA
18461852 let bytesPerRow = width * bytesPerPixel
18471853 let totalBytes = height * bytesPerRow
1848-
1854+
18491855 // Create a bitmap context to draw the image
18501856 let colorSpace = CGColorSpaceCreateDeviceRGB ( )
18511857 let bitmapInfo = CGImageAlphaInfo . premultipliedLast. rawValue
1852-
1858+
18531859 guard let context = CGContext (
18541860 data: nil ,
18551861 width: width,
@@ -1861,22 +1867,22 @@ public func getCGImageData(_ image: OpaquePointer, _ outPtr: UnsafeMutablePointe
18611867 ) else {
18621868 return false
18631869 }
1864-
1870+
18651871 // Draw the image into the context
18661872 context. draw ( cgImage, in: CGRect ( x: 0 , y: 0 , width: width, height: height) )
1867-
1873+
18681874 // Get the data
18691875 guard let data = context. data else {
18701876 return false
18711877 }
1872-
1878+
18731879 // Allocate memory for the data and copy it
18741880 let buffer = UnsafeMutableRawPointer . allocate ( byteCount: totalBytes, alignment: 1 )
18751881 buffer. copyMemory ( from: data, byteCount: totalBytes)
1876-
1882+
18771883 outPtr. pointee = UnsafeRawPointer ( buffer)
18781884 outLength. pointee = totalBytes
1879-
1885+
18801886 return true
18811887}
18821888
0 commit comments