edenman
05/11/2020, 7:44 PMsaket
05/11/2020, 8:02 PMedenman
05/11/2020, 8:17 PMOmar Mainegra
05/12/2020, 2:57 PMexpect class Color
expect fun fromRGB(r: Int, g: Int, b: Int): Color
expect fun fromARGB(a: Int, r: Int, g: Int, b: Int): Color
android
actual typealias Color = Int
actual fun fromRGB(r: Int, g: Int, b: Int): Color = fromARGB(255, r, g, b)
actual fun fromARGB(a: Int, r: Int, g: Int, b: Int): Color = a shl 24 or (r shl 16) or (g shl 8) or b
iOS
@Suppress("CONFLICTING_OVERLOADS") actual typealias Color = UIColor
actual fun fromRGB(r: Int, g: Int, b: Int) = UIColor(red = r / 255.0, green = g / 255.0, blue = b / 255.0, alpha = 1.0)
actual fun fromARGB(a: Int, r: Int, g: Int, b: Int) = UIColor(red = r / 255.0, green = g / 255.0, blue = b / 255.0, alpha = a / 255.0)
JS
actual typealias Color = String
fun toHex(number: Int) =
if (number >= 16) number.toString(16)
else "0${number.toString(16)}"
actual fun fromRGB(r: Int, g: Int, b: Int): Color =
"#${toHex(r)}${toHex(g)}${toHex(b)}".toUpperCase()
actual fun fromARGB(a: Int, r: Int, g: Int, b: Int): Color =
"#${toHex(a)}${toHex(r)}${toHex(g)}${toHex(b)}".toUpperCase()
edenman
05/12/2020, 6:16 PMOmar Mainegra
05/12/2020, 6:51 PM