Expand description
Swift FFI bridge to ScreenCaptureKit
Structs§
- FFIApplication
Data - Packed application data for batch retrieval
- FFIDisplay
Data - Packed display data for batch retrieval (48 bytes)
- FFIRect
- Packed
CGRectfor efficient FFI transfer (32 bytes) - FFIWindow
Data - Packed window data for batch retrieval
Functions§
- cgimage_
free_ ⚠data - cgimage_
get_ ⚠data - cgimage_
get_ ⚠height - cgimage_
get_ ⚠width - cgimage_
release ⚠ - cgimage_
save_ ⚠png - cgimage_
save_ ⚠to_ file - cv_
pixel_ ⚠buffer_ get_ iosurface - cv_
pixel_ ⚠buffer_ is_ backed_ by_ iosurface - dispatch_
queue_ ⚠create - dispatch_
queue_ ⚠release - dispatch_
queue_ ⚠retain - io_
surface_ ⚠create - io_
surface_ ⚠create_ with_ properties - iosurface_
get_ ⚠base_ address - iosurface_
get_ ⚠bytes_ per_ row - iosurface_
get_ ⚠bytes_ per_ row_ of_ plane - iosurface_
get_ ⚠height - iosurface_
get_ ⚠height_ of_ plane - iosurface_
get_ ⚠pixel_ format - iosurface_
get_ ⚠plane_ count - iosurface_
get_ ⚠width - iosurface_
get_ ⚠width_ of_ plane - iosurface_
is_ ⚠in_ use - iosurface_
lock ⚠ - iosurface_
release ⚠ - iosurface_
unlock ⚠ - sc_
audio_ ⚠get_ default_ input_ device_ id - Get the default audio input device ID into buffer
- sc_
audio_ ⚠get_ default_ input_ device_ name - Get the default audio input device name into buffer
- sc_
audio_ ⚠get_ input_ device_ count - Get the count of available audio input devices
- sc_
audio_ ⚠get_ input_ device_ id - Get audio input device ID at index into buffer
- sc_
audio_ ⚠get_ input_ device_ name - Get audio input device name at index into buffer
- sc_
audio_ ⚠is_ default_ input_ device - Check if the device at index is the default audio input device
- sc_
content_ ⚠filter_ create_ with_ desktop_ independent_ window - sc_
content_ ⚠filter_ create_ with_ display_ excluding_ applications_ excepting_ windows - sc_
content_ ⚠filter_ create_ with_ display_ excluding_ windows - sc_
content_ ⚠filter_ create_ with_ display_ including_ applications_ excepting_ windows - sc_
content_ ⚠filter_ create_ with_ display_ including_ windows - sc_
content_ ⚠filter_ get_ content_ rect - sc_
content_ ⚠filter_ get_ content_ rect_ packed - Get content filter content rect (same as
sc_content_filter_get_content_rect) - sc_
content_ ⚠filter_ get_ include_ menu_ bar - sc_
content_ ⚠filter_ get_ included_ application_ at - sc_
content_ ⚠filter_ get_ included_ applications_ count - sc_
content_ ⚠filter_ get_ included_ display_ at - sc_
content_ ⚠filter_ get_ included_ displays_ count - sc_
content_ ⚠filter_ get_ included_ window_ at - sc_
content_ ⚠filter_ get_ included_ windows_ count - sc_
content_ ⚠filter_ get_ point_ pixel_ scale - sc_
content_ ⚠filter_ get_ stream_ type - sc_
content_ ⚠filter_ get_ style - sc_
content_ ⚠filter_ release - sc_
content_ ⚠filter_ retain - sc_
content_ ⚠filter_ set_ content_ rect - sc_
content_ ⚠filter_ set_ include_ menu_ bar - sc_
content_ ⚠sharing_ picker_ configuration_ create - sc_
content_ ⚠sharing_ picker_ configuration_ get_ allows_ changing_ selected_ content - sc_
content_ ⚠sharing_ picker_ configuration_ get_ excluded_ bundle_ id_ at - sc_
content_ ⚠sharing_ picker_ configuration_ get_ excluded_ bundle_ ids_ count - sc_
content_ ⚠sharing_ picker_ configuration_ get_ excluded_ window_ id_ at - sc_
content_ ⚠sharing_ picker_ configuration_ get_ excluded_ window_ ids_ count - sc_
content_ ⚠sharing_ picker_ configuration_ release - sc_
content_ ⚠sharing_ picker_ configuration_ retain - sc_
content_ ⚠sharing_ picker_ configuration_ set_ allowed_ picker_ modes - sc_
content_ ⚠sharing_ picker_ configuration_ set_ allows_ changing_ selected_ content - sc_
content_ ⚠sharing_ picker_ configuration_ set_ excluded_ bundle_ ids - sc_
content_ ⚠sharing_ picker_ configuration_ set_ excluded_ window_ ids - sc_
content_ ⚠sharing_ picker_ get_ maximum_ stream_ count - sc_
content_ ⚠sharing_ picker_ set_ maximum_ stream_ count - sc_
content_ ⚠sharing_ picker_ show - sc_
content_ ⚠sharing_ picker_ show_ for_ stream - sc_
content_ ⚠sharing_ picker_ show_ for_ stream_ using_ style - sc_
content_ ⚠sharing_ picker_ show_ using_ style - sc_
content_ ⚠sharing_ picker_ show_ with_ result - sc_
display_ ⚠get_ display_ id - sc_
display_ ⚠get_ frame - sc_
display_ ⚠get_ frame_ packed - Get display frame (same as
sc_display_get_frame, kept for API compatibility) - sc_
display_ ⚠get_ height - sc_
display_ ⚠get_ width - sc_
display_ ⚠release - sc_
display_ ⚠retain - sc_
free_ ⚠string - Free a string allocated by Swift (strdup)
- sc_
initialize_ ⚠core_ graphics - Force CoreGraphics initialization by calling
CGMainDisplayIDThis preventsCGS_REQUIRE_INITcrashes on headless systems - sc_
picker_ ⚠result_ get_ application_ at - sc_
picker_ ⚠result_ get_ applications_ count - sc_
picker_ ⚠result_ get_ content_ rect - sc_
picker_ ⚠result_ get_ display_ at - sc_
picker_ ⚠result_ get_ displays_ count - sc_
picker_ ⚠result_ get_ filter - sc_
picker_ ⚠result_ get_ scale - sc_
picker_ ⚠result_ get_ window_ at - sc_
picker_ ⚠result_ get_ windows_ count - sc_
picker_ ⚠result_ release - sc_
recording_ ⚠output_ configuration_ create - sc_
recording_ ⚠output_ configuration_ get_ available_ output_ file_ type_ at - sc_
recording_ ⚠output_ configuration_ get_ available_ output_ file_ types_ count - sc_
recording_ ⚠output_ configuration_ get_ available_ video_ codec_ at - sc_
recording_ ⚠output_ configuration_ get_ available_ video_ codecs_ count - sc_
recording_ ⚠output_ configuration_ get_ output_ file_ type - sc_
recording_ ⚠output_ configuration_ get_ video_ codec - sc_
recording_ ⚠output_ configuration_ release - sc_
recording_ ⚠output_ configuration_ retain - sc_
recording_ ⚠output_ configuration_ set_ output_ file_ type - sc_
recording_ ⚠output_ configuration_ set_ output_ url - sc_
recording_ ⚠output_ configuration_ set_ video_ codec - sc_
recording_ ⚠output_ create - sc_
recording_ ⚠output_ create_ with_ delegate - sc_
recording_ ⚠output_ get_ recorded_ duration - sc_
recording_ ⚠output_ get_ recorded_ file_ size - sc_
recording_ ⚠output_ release - sc_
recording_ ⚠output_ retain - sc_
running_ ⚠application_ get_ application_ name - sc_
running_ ⚠application_ get_ application_ name_ owned - Get application name as owned string (caller must free with
sc_free_string) - sc_
running_ ⚠application_ get_ bundle_ identifier - sc_
running_ ⚠application_ get_ bundle_ identifier_ owned - Get bundle identifier as owned string (caller must free with
sc_free_string) - sc_
running_ ⚠application_ get_ process_ id - sc_
running_ ⚠application_ release - sc_
running_ ⚠application_ retain - sc_
screenshot_ ⚠configuration_ create - sc_
screenshot_ ⚠configuration_ get_ content_ type - sc_
screenshot_ ⚠configuration_ get_ supported_ content_ type_ at - sc_
screenshot_ ⚠configuration_ get_ supported_ content_ types_ count - sc_
screenshot_ ⚠configuration_ release - sc_
screenshot_ ⚠configuration_ set_ content_ type - sc_
screenshot_ ⚠configuration_ set_ destination_ rect - sc_
screenshot_ ⚠configuration_ set_ display_ intent - sc_
screenshot_ ⚠configuration_ set_ dynamic_ range - sc_
screenshot_ ⚠configuration_ set_ file_ url - sc_
screenshot_ ⚠configuration_ set_ height - sc_
screenshot_ ⚠configuration_ set_ ignore_ clipping - sc_
screenshot_ ⚠configuration_ set_ ignore_ shadows - sc_
screenshot_ ⚠configuration_ set_ include_ child_ windows - sc_
screenshot_ ⚠configuration_ set_ shows_ cursor - sc_
screenshot_ ⚠configuration_ set_ source_ rect - sc_
screenshot_ ⚠configuration_ set_ width - sc_
screenshot_ ⚠manager_ capture_ image - sc_
screenshot_ ⚠manager_ capture_ image_ in_ rect - sc_
screenshot_ ⚠manager_ capture_ sample_ buffer - sc_
screenshot_ ⚠manager_ capture_ screenshot - sc_
screenshot_ ⚠manager_ capture_ screenshot_ in_ rect - sc_
screenshot_ ⚠output_ get_ file_ url - sc_
screenshot_ ⚠output_ get_ hdr_ image - sc_
screenshot_ ⚠output_ get_ sdr_ image - sc_
screenshot_ ⚠output_ release - sc_
shareable_ ⚠content_ get - sc_
shareable_ ⚠content_ get_ above_ window - sc_
shareable_ ⚠content_ get_ application_ at - sc_
shareable_ ⚠content_ get_ applications_ batch - sc_
shareable_ ⚠content_ get_ applications_ count - sc_
shareable_ ⚠content_ get_ below_ window - sc_
shareable_ ⚠content_ get_ current_ process_ displays - sc_
shareable_ ⚠content_ get_ display_ at - sc_
shareable_ ⚠content_ get_ displays_ batch - sc_
shareable_ ⚠content_ get_ displays_ count - sc_
shareable_ ⚠content_ get_ sync - Synchronous blocking call to get shareable content
Returns content pointer on success, or writes error to
error_buffer - sc_
shareable_ ⚠content_ get_ window_ at - sc_
shareable_ ⚠content_ get_ windows_ batch - sc_
shareable_ ⚠content_ get_ windows_ count - sc_
shareable_ ⚠content_ get_ with_ options - Async callback-based shareable content retrieval with options
- sc_
shareable_ ⚠content_ info_ for_ filter - sc_
shareable_ ⚠content_ info_ get_ content_ rect - sc_
shareable_ ⚠content_ info_ get_ content_ rect_ packed - Get shareable content info rect (same as
sc_shareable_content_info_get_content_rect) - sc_
shareable_ ⚠content_ info_ get_ point_ pixel_ scale - sc_
shareable_ ⚠content_ info_ get_ style - sc_
shareable_ ⚠content_ info_ release - sc_
shareable_ ⚠content_ info_ retain - sc_
shareable_ ⚠content_ release - sc_
shareable_ ⚠content_ retain - sc_
stream_ ⚠add_ recording_ output - sc_
stream_ ⚠add_ stream_ output - sc_
stream_ ⚠add_ stream_ output_ with_ queue - sc_
stream_ ⚠configuration_ create - sc_
stream_ ⚠configuration_ create_ with_ preset - sc_
stream_ ⚠configuration_ get_ capture_ dynamic_ range - sc_
stream_ ⚠configuration_ get_ capture_ resolution_ type - sc_
stream_ ⚠configuration_ get_ captures_ audio - sc_
stream_ ⚠configuration_ get_ captures_ microphone - sc_
stream_ ⚠configuration_ get_ captures_ shadows_ only - sc_
stream_ ⚠configuration_ get_ channel_ count - sc_
stream_ ⚠configuration_ get_ color_ matrix - sc_
stream_ ⚠configuration_ get_ destination_ rect - sc_
stream_ ⚠configuration_ get_ excludes_ current_ process_ audio - sc_
stream_ ⚠configuration_ get_ height - sc_
stream_ ⚠configuration_ get_ ignore_ global_ clip_ display - sc_
stream_ ⚠configuration_ get_ ignore_ global_ clip_ single_ window - sc_
stream_ ⚠configuration_ get_ ignores_ shadow_ display_ configuration - sc_
stream_ ⚠configuration_ get_ ignores_ shadows_ display - sc_
stream_ ⚠configuration_ get_ ignores_ shadows_ single_ window - sc_
stream_ ⚠configuration_ get_ includes_ child_ windows - sc_
stream_ ⚠configuration_ get_ microphone_ capture_ device_ id - sc_
stream_ ⚠configuration_ get_ minimum_ frame_ interval - sc_
stream_ ⚠configuration_ get_ pixel_ format - sc_
stream_ ⚠configuration_ get_ presenter_ overlay_ privacy_ alert_ setting - sc_
stream_ ⚠configuration_ get_ preserve_ aspect_ ratio - sc_
stream_ ⚠configuration_ get_ preserves_ aspect_ ratio - sc_
stream_ ⚠configuration_ get_ queue_ depth - sc_
stream_ ⚠configuration_ get_ sample_ rate - sc_
stream_ ⚠configuration_ get_ scales_ to_ fit - sc_
stream_ ⚠configuration_ get_ should_ be_ opaque - sc_
stream_ ⚠configuration_ get_ shows_ cursor - sc_
stream_ ⚠configuration_ get_ shows_ mouse_ clicks - sc_
stream_ ⚠configuration_ get_ source_ rect - sc_
stream_ ⚠configuration_ get_ stream_ name - sc_
stream_ ⚠configuration_ get_ width - sc_
stream_ ⚠configuration_ release - sc_
stream_ ⚠configuration_ retain - sc_
stream_ ⚠configuration_ set_ background_ color - sc_
stream_ ⚠configuration_ set_ capture_ dynamic_ range - sc_
stream_ ⚠configuration_ set_ capture_ resolution_ type - sc_
stream_ ⚠configuration_ set_ captures_ audio - sc_
stream_ ⚠configuration_ set_ captures_ microphone - sc_
stream_ ⚠configuration_ set_ captures_ shadows_ only - sc_
stream_ ⚠configuration_ set_ channel_ count - sc_
stream_ ⚠configuration_ set_ color_ matrix - sc_
stream_ ⚠configuration_ set_ color_ space_ name - sc_
stream_ ⚠configuration_ set_ destination_ rect - sc_
stream_ ⚠configuration_ set_ excludes_ current_ process_ audio - sc_
stream_ ⚠configuration_ set_ height - sc_
stream_ ⚠configuration_ set_ ignore_ global_ clip_ display - sc_
stream_ ⚠configuration_ set_ ignore_ global_ clip_ single_ window - sc_
stream_ ⚠configuration_ set_ ignores_ shadow_ display_ configuration - sc_
stream_ ⚠configuration_ set_ ignores_ shadows_ display - sc_
stream_ ⚠configuration_ set_ ignores_ shadows_ single_ window - sc_
stream_ ⚠configuration_ set_ includes_ child_ windows - sc_
stream_ ⚠configuration_ set_ microphone_ capture_ device_ id - sc_
stream_ ⚠configuration_ set_ minimum_ frame_ interval - sc_
stream_ ⚠configuration_ set_ pixel_ format - sc_
stream_ ⚠configuration_ set_ presenter_ overlay_ privacy_ alert_ setting - sc_
stream_ ⚠configuration_ set_ preserve_ aspect_ ratio - sc_
stream_ ⚠configuration_ set_ preserves_ aspect_ ratio - sc_
stream_ ⚠configuration_ set_ queue_ depth - sc_
stream_ ⚠configuration_ set_ sample_ rate - sc_
stream_ ⚠configuration_ set_ scales_ to_ fit - sc_
stream_ ⚠configuration_ set_ should_ be_ opaque - sc_
stream_ ⚠configuration_ set_ shows_ cursor - sc_
stream_ ⚠configuration_ set_ shows_ mouse_ clicks - sc_
stream_ ⚠configuration_ set_ source_ rect - sc_
stream_ ⚠configuration_ set_ stream_ name - sc_
stream_ ⚠configuration_ set_ width - sc_
stream_ ⚠create - sc_
stream_ ⚠get_ synchronization_ clock - sc_
stream_ ⚠release - sc_
stream_ ⚠remove_ recording_ output - sc_
stream_ ⚠remove_ stream_ output - sc_
stream_ ⚠retain - sc_
stream_ ⚠start_ capture - sc_
stream_ ⚠stop_ capture - sc_
stream_ ⚠update_ configuration - sc_
stream_ ⚠update_ content_ filter - sc_
window_ ⚠get_ frame - sc_
window_ ⚠get_ frame_ packed - Get window frame (same as
sc_window_get_frame, kept for API compatibility) - sc_
window_ ⚠get_ owning_ application - sc_
window_ ⚠get_ title - sc_
window_ ⚠get_ title_ owned - Get window title as owned string (caller must free with
sc_free_string) - sc_
window_ ⚠get_ window_ id - sc_
window_ ⚠get_ window_ layer - sc_
window_ ⚠is_ active - sc_
window_ ⚠is_ on_ screen - sc_
window_ ⚠release - sc_
window_ ⚠retain