From 0ff761a286886404f97e29e2fca9163985e79891 Mon Sep 17 00:00:00 2001 From: Joris Date: Wed, 1 Feb 2017 10:11:09 +0100 Subject: Add covers --- src/main/scala/reading/component/style/Color.scala | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) (limited to 'src/main/scala/reading/component/style/Color.scala') diff --git a/src/main/scala/reading/component/style/Color.scala b/src/main/scala/reading/component/style/Color.scala index 1f44eb5..ed2041f 100644 --- a/src/main/scala/reading/component/style/Color.scala +++ b/src/main/scala/reading/component/style/Color.scala @@ -7,19 +7,14 @@ import scalacss.internal.{ ValueT, Color => ScalaCssColor } case class Color(red: Int, green: Int, blue: Int, alpha: Double = 1.0) { val value: ValueT[ValueT.Color] = ScalaCssColor.rgba(red, green, blue, alpha) - def lighten(n: Int): Color = - Color( - red = Color.bound(red + n), - green = Color.bound(green + n), - blue = Color.bound(blue + n), - alpha = alpha - ) + def lighten(pct: Int): Color = ratio(1.0 + pct / 100.0) + def darken(pct: Int): Color = ratio(1.0 - pct / 100.0) - def darken(n: Int): Color = + private def ratio(r: Double): Color = Color( - red = Color.bound(red - n), - green = Color.bound(green - n), - blue = Color.bound(blue - n), + red = Color.bound(red * r), + green = Color.bound(green * r), + blue = Color.bound(blue * r), alpha = alpha ) } @@ -44,4 +39,5 @@ object Color { ) def bound(n: Int): Int = Math.max(0, Math.min(255, n)) + def bound(d: Double): Int = bound(d.toInt) } -- cgit v1.2.3