27 lines
669 B
Rust
27 lines
669 B
Rust
pub use base::boolean_t;
|
|
|
|
#[derive(Default)]
|
|
pub struct ScreenCaptureAccess;
|
|
|
|
impl ScreenCaptureAccess {
|
|
/// If current app not in list, will open window.
|
|
/// Return the same result as preflight.
|
|
#[inline]
|
|
pub fn request(&self) -> bool {
|
|
unsafe { CGRequestScreenCaptureAccess() == 1 }
|
|
}
|
|
|
|
/// Return true if has access
|
|
#[inline]
|
|
pub fn preflight(&self) -> bool {
|
|
unsafe { CGPreflightScreenCaptureAccess() == 1 }
|
|
}
|
|
}
|
|
|
|
#[link(name = "CoreGraphics", kind = "framework")]
|
|
extern "C" {
|
|
// Screen Capture Access
|
|
fn CGRequestScreenCaptureAccess() -> boolean_t;
|
|
fn CGPreflightScreenCaptureAccess() -> boolean_t;
|
|
}
|