unioil-loyalty-rn-app/ios/Pods/lottie-ios/Sources/Private/Utility/Extensions/StringExtensions.swift

39 lines
867 B
Swift

//
// StringExtensions.swift
// lottie-swift
//
// Created by Brandon Withrow on 1/25/19.
//
import CoreGraphics
import Foundation
extension String {
var cgColor: CGColor {
let (red, green, blue) = hexColorComponents()
return .rgb(red, green, blue)
}
func hexColorComponents() -> (red: CGFloat, green: CGFloat, blue: CGFloat) {
var cString: String = trimmingCharacters(in: .whitespacesAndNewlines).uppercased()
if cString.hasPrefix("#") {
cString.remove(at: cString.startIndex)
}
if (cString.count) != 6 {
return (red: 0, green: 0, blue: 0)
}
var rgbValue: UInt64 = 0
Scanner(string: cString).scanHexInt64(&rgbValue)
return (
red: CGFloat((rgbValue & 0xFF0000) >> 16) / 255.0,
green: CGFloat((rgbValue & 0x00FF00) >> 8) / 255.0,
blue: CGFloat(rgbValue & 0x0000FF) / 255.0)
}
}