use core::ffi::*;
use crate::*;
pub const kCGDisplayFadeReservationInvalidToken: c_uint = 0;
pub const kCGDisplayBlendNormal: c_float = 0.0;
pub const kCGDisplayBlendSolidColor: c_float = 1.0;
pub const kCGMaxDisplayReservationInterval: CGDisplayReservationInterval = 15.0;
pub type CGDisplayFadeReservationToken = u32;
pub type CGDisplayBlendFraction = c_float;
pub type CGDisplayFadeInterval = c_float;
extern "C-unwind" {
#[cfg(all(feature = "CGDisplayConfiguration", feature = "CGError"))]
pub fn CGConfigureDisplayFadeEffect(
config: CGDisplayConfigRef,
fade_out_seconds: CGDisplayFadeInterval,
fade_in_seconds: CGDisplayFadeInterval,
fade_red: c_float,
fade_green: c_float,
fade_blue: c_float,
) -> CGError;
}
pub type CGDisplayReservationInterval = c_float;
extern "C-unwind" {
#[cfg(feature = "CGError")]
pub fn CGAcquireDisplayFadeReservation(
seconds: CGDisplayReservationInterval,
token: *mut CGDisplayFadeReservationToken,
) -> CGError;
}
#[cfg(feature = "CGError")]
#[inline]
pub extern "C-unwind" fn CGReleaseDisplayFadeReservation(
token: CGDisplayFadeReservationToken,
) -> CGError {
extern "C-unwind" {
fn CGReleaseDisplayFadeReservation(token: CGDisplayFadeReservationToken) -> CGError;
}
unsafe { CGReleaseDisplayFadeReservation(token) }
}
#[cfg(all(feature = "CGError", feature = "libc"))]
#[inline]
pub extern "C-unwind" fn CGDisplayFade(
token: CGDisplayFadeReservationToken,
duration: CGDisplayFadeInterval,
start_blend: CGDisplayBlendFraction,
end_blend: CGDisplayBlendFraction,
red_blend: c_float,
green_blend: c_float,
blue_blend: c_float,
synchronous: bool,
) -> CGError {
extern "C-unwind" {
fn CGDisplayFade(
token: CGDisplayFadeReservationToken,
duration: CGDisplayFadeInterval,
start_blend: CGDisplayBlendFraction,
end_blend: CGDisplayBlendFraction,
red_blend: c_float,
green_blend: c_float,
blue_blend: c_float,
synchronous: libc::boolean_t,
) -> CGError;
}
unsafe {
CGDisplayFade(
token,
duration,
start_blend,
end_blend,
red_blend,
green_blend,
blue_blend,
synchronous as _,
)
}
}
#[cfg(feature = "libc")]
#[deprecated = "No longer supported"]
#[inline]
pub extern "C-unwind" fn CGDisplayFadeOperationInProgress() -> bool {
extern "C-unwind" {
fn CGDisplayFadeOperationInProgress() -> libc::boolean_t;
}
let ret = unsafe { CGDisplayFadeOperationInProgress() };
ret != 0
}