core_graphics2/
display_fade.rs1use libc::c_float;
2
3use crate::{base::boolean_t, display_configuration::CGDisplayConfigRef, error::CGError};
4
5pub type CGDisplayFadeReservationToken = u32;
6
7pub const kCGDisplayFadeReservationInvalidToken: CGDisplayFadeReservationToken = 0;
8
9pub type CGDisplayBlendFraction = c_float;
10
11pub const kCGDisplayBlendNormal: CGDisplayBlendFraction = 0.0;
12pub const kCGDisplayBlendSolidColor: CGDisplayBlendFraction = 1.0;
13
14pub type CGDisplayFadeInterval = c_float;
15
16pub type CGDisplayReservationInterval = c_float;
17
18pub const kCGMaxDisplayReservationInterval: CGDisplayReservationInterval = 15.0;
19
20extern "C" {
21 pub fn CGConfigureDisplayFadeEffect(
22 config: CGDisplayConfigRef,
23 fadeOutSeconds: CGDisplayFadeInterval,
24 fadeInSeconds: CGDisplayFadeInterval,
25 fadeRed: c_float,
26 fadeGreen: c_float,
27 fadeBlue: c_float,
28 ) -> CGError;
29 pub fn CGAcquireDisplayFadeReservation(seconds: CGDisplayReservationInterval, token: *mut CGDisplayFadeReservationToken) -> CGError;
30 pub fn CGReleaseDisplayFadeReservation(token: CGDisplayFadeReservationToken) -> CGError;
31 pub fn CGDisplayFade(
32 token: CGDisplayFadeReservationToken,
33 duration: CGDisplayFadeInterval,
34 startBlend: CGDisplayBlendFraction,
35 endBlend: CGDisplayBlendFraction,
36 redBlend: c_float,
37 greenBlend: c_float,
38 blueBlend: c_float,
39 synchronous: boolean_t,
40 ) -> CGError;
41 pub fn CGDisplayFadeOperationInProgress() -> boolean_t;
42}