55 lines
1.3 KiB
Swift
55 lines
1.3 KiB
Swift
//
|
|
// 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()
|
|
}
|
|
}
|