Tune outgoing bubble highlight color

This commit is contained in:
Ilya Laktyushin
2023-03-03 14:30:08 +04:00
parent b0256a8f5f
commit 4f5d1445ae
5 changed files with 67 additions and 9 deletions

View File

@@ -158,6 +158,24 @@ public extension UIColor {
}
}
var brightness: CGFloat {
var hue: CGFloat = 0.0
var saturation: CGFloat = 0.0
var brightness: CGFloat = 0.0
var alpha: CGFloat = 0.0
self.getHue(&hue, saturation: &saturation, brightness: &brightness, alpha: &alpha)
return brightness
}
var saturation: CGFloat {
var hue: CGFloat = 0.0
var saturation: CGFloat = 0.0
var brightness: CGFloat = 0.0
var alpha: CGFloat = 0.0
self.getHue(&hue, saturation: &saturation, brightness: &brightness, alpha: &alpha)
return saturation
}
func withMultipliedBrightnessBy(_ factor: CGFloat) -> UIColor {
var hue: CGFloat = 0.0
var saturation: CGFloat = 0.0
@@ -202,6 +220,26 @@ public extension UIColor {
return self
}
func multipliedWith(_ other: UIColor) -> UIColor {
var r1: CGFloat = 0.0
var r2: CGFloat = 0.0
var g1: CGFloat = 0.0
var g2: CGFloat = 0.0
var b1: CGFloat = 0.0
var b2: CGFloat = 0.0
var a1: CGFloat = 0.0
var a2: CGFloat = 0.0
if self.getRed(&r1, green: &g1, blue: &b1, alpha: &a1) &&
other.getRed(&r2, green: &g2, blue: &b2, alpha: &a2)
{
let r = r1 * r2
let g = g1 * g2
let b = b1 * b2
return UIColor(red: r, green: g, blue: b, alpha: 1.0)
}
return self
}
func blitOver(_ other: UIColor, alpha: CGFloat) -> UIColor {
let alpha = min(1.0, max(0.0, alpha))