core_graphics/
access.rs

1#[derive(Default)]
2pub struct ScreenCaptureAccess;
3
4impl ScreenCaptureAccess {
5    /// If current app not in list, will open window.
6    /// Return the same result as preflight.
7    #[inline]
8    pub fn request(&self) -> bool {
9        unsafe { CGRequestScreenCaptureAccess() }
10    }
11
12    /// Return `true` if has access
13    #[inline]
14    pub fn preflight(&self) -> bool {
15        unsafe { CGPreflightScreenCaptureAccess() }
16    }
17}
18
19#[cfg_attr(feature = "link", link(name = "CoreGraphics", kind = "framework"))]
20extern "C" {
21    // Screen Capture Access
22    fn CGRequestScreenCaptureAccess() -> bool;
23    fn CGPreflightScreenCaptureAccess() -> bool;
24}