-
-
Save 128keaton/81da4399f9d005b9b4ae96924f246663 to your computer and use it in GitHub Desktop.
Flashing the screen in Swift. Sticking this here because it took me a while to work out the right variable types and casting.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
func flashScreen() { | |
let inDuration: CGDisplayFadeInterval = 0.0 | |
let outDuration: CGDisplayFadeInterval = 1.0 | |
let color = NSColor.white | |
var fadeToken: CGDisplayFadeReservationToken = 0 | |
let colorToUse = color.usingColorSpaceName(NSColorSpaceName.calibratedRGB)! | |
let err = CGAcquireDisplayFadeReservation(inDuration + outDuration, &fadeToken) | |
if err != CGError.success { | |
DDLogError("Error acquiring fade reservation") | |
return | |
} | |
CGDisplayFade(fadeToken, inDuration, | |
0.0 as CGDisplayBlendFraction, 0.2 as CGDisplayBlendFraction, | |
Float(colorToUse.redComponent), Float(colorToUse.greenComponent), Float(colorToUse.blueComponent), | |
boolean_t(1)) | |
CGDisplayFade(fadeToken, outDuration, | |
0.2 as CGDisplayBlendFraction, 0.0 as CGDisplayBlendFraction, | |
Float(colorToUse.redComponent), Float(colorToUse.greenComponent), Float(colorToUse.blueComponent), | |
boolean_t(1)) | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment