add code to create darker custom colors
This commit is contained in:
@@ -123,15 +123,15 @@ final class CustomMoodTint: MoodTintable {
|
||||
static func secondary(forMood mood: Mood) -> Color {
|
||||
switch mood {
|
||||
case .horrible:
|
||||
return UserDefaultsStore.getCustomMoodTint().colorFive
|
||||
return UserDefaultsStore.getCustomMoodTint().colorFive.darker(by: 40)
|
||||
case .bad:
|
||||
return UserDefaultsStore.getCustomMoodTint().colorFour
|
||||
return UserDefaultsStore.getCustomMoodTint().colorFour.darker(by: 40)
|
||||
case .average:
|
||||
return UserDefaultsStore.getCustomMoodTint().colorThree
|
||||
return UserDefaultsStore.getCustomMoodTint().colorThree.darker(by: 40)
|
||||
case .good:
|
||||
return UserDefaultsStore.getCustomMoodTint().colorTwo
|
||||
return UserDefaultsStore.getCustomMoodTint().colorTwo.darker(by: 40)
|
||||
case .great:
|
||||
return UserDefaultsStore.getCustomMoodTint().colorOne
|
||||
return UserDefaultsStore.getCustomMoodTint().colorOne.darker(by: 40)
|
||||
case .missing:
|
||||
return Color(uiColor: UIColor.lightGray)
|
||||
case .placeholder:
|
||||
|
||||
@@ -132,6 +132,9 @@ extension Color {
|
||||
blue: .random(in: 0...1)
|
||||
)
|
||||
}
|
||||
|
||||
public func lighter(by amount: CGFloat = 0.2) -> Self { Self(UIColor(self).lighter(by: amount)) }
|
||||
public func darker(by amount: CGFloat = 0.2) -> Self { Self(UIColor(self).darker(by: amount)) }
|
||||
}
|
||||
|
||||
extension String {
|
||||
@@ -151,3 +154,38 @@ extension String {
|
||||
return image ?? UIImage()
|
||||
}
|
||||
}
|
||||
|
||||
extension UIColor {
|
||||
|
||||
func lighter(by percentage: CGFloat = 10.0) -> UIColor {
|
||||
return self.adjust(by: abs(percentage))
|
||||
}
|
||||
|
||||
func darker(by percentage: CGFloat = 10.0) -> UIColor {
|
||||
return self.adjust(by: -abs(percentage))
|
||||
}
|
||||
|
||||
func adjust(by percentage: CGFloat) -> UIColor {
|
||||
var alpha, hue, saturation, brightness, red, green, blue, white : CGFloat
|
||||
(alpha, hue, saturation, brightness, red, green, blue, white) = (0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0)
|
||||
|
||||
let multiplier = percentage / 100.0
|
||||
|
||||
if self.getHue(&hue, saturation: &saturation, brightness: &brightness, alpha: &alpha) {
|
||||
let newBrightness: CGFloat = max(min(brightness + multiplier*brightness, 1.0), 0.0)
|
||||
return UIColor(hue: hue, saturation: saturation, brightness: newBrightness, alpha: alpha)
|
||||
}
|
||||
else if self.getRed(&red, green: &green, blue: &blue, alpha: &alpha) {
|
||||
let newRed: CGFloat = min(max(red + multiplier*red, 0.0), 1.0)
|
||||
let newGreen: CGFloat = min(max(green + multiplier*green, 0.0), 1.0)
|
||||
let newBlue: CGFloat = min(max(blue + multiplier*blue, 0.0), 1.0)
|
||||
return UIColor(red: newRed, green: newGreen, blue: newBlue, alpha: alpha)
|
||||
}
|
||||
else if self.getWhite(&white, alpha: &alpha) {
|
||||
let newWhite: CGFloat = (white + multiplier*white)
|
||||
return UIColor(white: newWhite, alpha: alpha)
|
||||
}
|
||||
|
||||
return self
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user