// // PrivadoLoader+Extenstions.swift // PrivadoVPN // // Created by Murad Shabanov on 23.11.2021. // Copyright © 2021 Privado LLC. All rights reserved. // import Foundation extension NSColor { func lighter(by percentage: CGFloat = 30.0) -> NSColor? { return self.adjust(by: abs(percentage) ) } func darker(by percentage: CGFloat = 30.0) -> NSColor? { return self.adjust(by: -1 * abs(percentage) ) } func adjust(by percentage: CGFloat = 30.0) -> NSColor? { var red: CGFloat = 0, green: CGFloat = 0, blue: CGFloat = 0, alpha: CGFloat = 0 self.getRed(&red, green: &green, blue: &blue, alpha: &alpha) return NSColor(red: min(red + percentage/100, 1.0), green: min(green + percentage/100, 1.0), blue: min(blue + percentage/100, 1.0), alpha: alpha) } } class ConnectionLayer: CAShapeLayer { public var newColor: NSColor = .clear { didSet { self.strokeColor = self.newColor.cgColor self.setNeedsDisplay() } } public var arcWidth: CGFloat = 2 { didSet { self.lineWidth = self.arcWidth self.setNeedsDisplay() } } public var layerTime: Double = 0 override func display() { super.display() } }